約 5,276,642 件
https://w.atwiki.jp/nostradamus/pages/336.html
『ミシェル・ド・ノートルダムの神託集』(Les Oracles de Michel de Nostredame)は、1867年にパリで出版されたアナトール・ル・ペルチエの著作。 3部構成の内容が、2分冊の中に収められている。 正式名 Les Oracles de Michel de Nostredame, Astrologue, Médecin et Conseiller ordinaire des Rois Henri II, François II et Charles IX.Édition ne varietur, comprenant 1o Le Texte-type de Pierre Rigaud (Lyon, 1558-1566), d'après l'édition-princeps conservée à la Bibliothèque de Paris, Avec les Variantes de Benoist Rigaud (Lyon, 1568) et les Suppléments de la réédition de M.DCV ; 2o Un Glossaire de la langue de Nostredame, avec Clef des Noms énigmatiques ; 3o Une Scholie historique des principaux Quatrains. Par Anatole Le Pelletier, Auteur du Cycle Universel (honoré, en 1854, d'un Bref de S. S. le S. P. Pie IX), du Dieu inconnu, de l'Astronomie Biblique, etc. Tome Premier Paris. Le Pelletier, Imprimeur Lithographie, rue d'Aboukir, 40. 1867 アンリ2世、フランソワ2世、シャルル9世に仕えた王附占星術師・侍医・顧問ミシェル・ド・ノートルダムの神託集以下の内容を含む決定版。(1)パリの図書館に所蔵されている原本に従ったピエール・リゴー版(リヨン、1558-1566年)の原文。これにブノワ・リゴー版(リヨン、1568年)の異文と1605年版の補遺を加えた。(2)ノートルダムの用語集と、謎の名称を解くカギ。(3)主要な四行詩の歴史的講釈。 1854年にローマ教皇ピウス9世聖下から親書を賜った『世界の周期』のほか、『未知なる神』『聖書の天文学』などの著者であるアナトール・ル・ペルチエによる。 (第1巻 / 第2巻) パリ、アブキル通り40番地のリトグラフ印刷業者ル・ペルチエ 1867年 内容 第1部が解釈編、第2部が原文編、第3部が用語編となっており(上に掲げた表題では順番が異なっている)、第1部が第1巻に、第2部と第3部が第2巻に収められている。 第1巻では、第1部に先だって、まず現代フランス語訳したジャン=エメ・ド・シャヴィニーの伝記と、簡潔な予言集の書誌が収められている。 続いて第1部として解釈が展開され、ル・ペルチエが分類した27の歴史的テーマごとにまとめられている。 テーマのうち、25までが歴史的テーマであり、未来解釈にあてられているのは最後の2つのテーマのみである。 第2部は原文編で、ピエール・リゴー版の予言集を底本にして、ブノワ・リゴー版の予言集に登場する異文を併記している。 六行詩集、予兆詩集などは1605年版を使ったことが明記され、詩百篇集の補遺編には1605年版だけでなく1650年ピエール・レファン版も使われている。 第3部は用語集で、予言集に登場する難解な語句の用語辞典になっている。 なお、表題にある「謎の名称のカギ」というのは、ル・ペルチエが解釈した隠喩をまとめたものである。例えば、彼の解釈では、「大いなる都市」「バビロン」「48度」「メソポタミア」はいずれもパリの隠喩である。 コメント 信奉者によってまとめられた作品の中では、最も重要なもののひとつと位置付けうる。 まず、シャヴィニーの伝記の訳は分かり易く、勝手に追加的なエピソードが差し挟まれることもなく、正確さを心掛けていることが窺える。 ただし、締めくくりの部分が、現存しているオリジナルの伝記とは異なっている。 書誌については、ウジェーヌ・バレストやアンリ・トルネ=シャヴィニーを踏襲したものらしい。 もちろん、現代の書誌研究の水準に照らせば、不十分さや不正確さは多く目につくが、当時としては十分誠実にまとめられたものといえるだろう。 解釈編は、信奉者にとっての古典的解釈の土台を整備したものの一つとして、19世紀のノストラダムス現象の証言としては貴重だろう。 ただ残念ながら、彼による各詩の解釈は引き継がれたが、全体として中世の予言的伝統を踏まえたものであるとする彼の予言観はあまり考慮されてきたとは言い難い。 この観点では、現代の実証的論者とル・ペルチエの見解がある程度似通っているともいえるが、それをノストラダムスの世界観として現実的な未来予測と切り離すか、それとも実現可能性を持つ未来の光景とするかという点で、両者は大きく隔たっている。 第2部の原文編は、十分堅実にまとめられているといってよいだろう。 ただし、(時代的制約を考慮すればやむを得ないものだが)出版業者や書誌に関する調査が著しく不十分である。 彼が1558年から1566年と位置付けたピエール・リゴー版は、実際には1600年頃から1610年頃の出版である。 また、ブノワ・リゴー版は本物ではなく、1772年頃に作成された偽年代版の方であったことも明らかになっている。 これらはル・ペルチエ自身がフランス帝国図書館(未作成)の書誌番号を記録していたことによって特定できている。 実際、当「大事典」で校異(原文比較)している範囲内では、ピエール・リゴー版のうち、フランス国立図書館に所蔵されている "Chez" Pierre Rigaud の版と強い一致を示しており、ル・ペルチエの証言を疑うべき理由はない。 「ピエール・リゴー」版には、1650年ごろの異本と、1716年ごろのニセ版もあるが、これらの「ピエール・リゴー」版がル・ペルチエのテクスト編纂の際に直接的に参照されていた形跡は、(少なくとも校異の範囲では)見出すことができない。 ル・ペルチエのこの本の5年前に、アンリ・トルネ=シャヴィニーが1716年ごろのニセ版を(それらは前置詞に Par を使っていたにもかかわらず)「Chezピエール・リゴー1566年版」として復刻したことはあったので、それが(ピエール・リゴー版の第二部を1566年とした)ル・ペルチエの年代推定に影響していた可能性くらいは想定できるのかもしれないが、影響していたとしてもその程度だろう。 こうした事情により、(ル・ペルチエの時代には最良のテクストといえたかもしれないが)現代ではそのまま受け入れるには問題があると言わざるをえない。 第3部の用語集はかなり充実したものであり、20世紀のシャルル・レノー=プランス、マリニー・ローズ、ミシェル・デュフレーヌらの用語集や用語辞典でも参照されている。 ただし、ル・ペルチエが使用した底本に基づく用語集なので、『予言集』初版に登場する単語などに対するフォローは不十分である。 また、現在ではル・ペルチエの語源的説明の誤りなども少なからず指摘されている。 「謎の名称のカギ」は、解釈編と同じく、ある時代の信奉者の解釈例としては一定の価値があるといえるのかもしれないが、実証的には見るべきものがない。 書誌 初版は上で見たように、1867年パリでの著者自身による出版である。 1969年にはスラトキヌ出版(Slatkine)によって影印本が出版された。1995年には同じスラトキヌからより廉価な影印本が出された(2巻本。各50フランで、当時は1フラン=約20円だった)。 2001年には Elibron から、2010年には Nabu Press からいずれも2巻本の影印版が出版された。 【画像】Nabu Press版の1冊 ※記事へのお問い合わせ等がある場合、最上部のタブの「ツール」>「管理者に連絡」をご活用ください。
https://w.atwiki.jp/mrfrtech/pages/126.html
Enterprise File Synchronization and Sharing Market Size, Segments Of The Tech World and Revenue, Recent Trends, Size, CAGR, Industry Size Growth High State Research By 2027 Market Scenario The Enterprise File Synchronization and Sharing Market Size is growing rapidly. Market growth attributes to the rising adoption of enterprise adopt synchronization sharing (EFSS) technologies in businesses. Besides, the increasing need to protect data from consumer-based apps to store access and merge corporate data outside of the IT department foster market growth. Moreover, increasing numbers of businesses worldwide, escalate the growth of the market. According to Market Research Future (MRFR), the global enterprise file synchronization sharing market is expected to garner a valuation of around USD 11 BN by 2023, growing at approximately 28% CAGR throughout the forecast period (2017 to 2023). Increasing digitalization in file sharing solutions and business processes boost the growth of the market. Rising BYOD trends to improve work efficiency and reduce the company's operational expenses impact the market growth positively. COVID-19 Analysis The business impact of SARS-CoV-2 has been felt across diverse sections of the information technology industry, albeit at different levels. Companies in the technology sector that supply services for verticals like travel, retail, hospitality, and entertainment have noted a dramatic decrease in sales, while the firms that provide services related to remote worker solutions have observed the opposite. Enterprise File Synchronization Sharing Market ’s fate post pandemic has been relatively less grim compared to Education Services (ES) and Professional Services (PS) that are mostly dependent on components that are generally on-site. In a nutshell, COVID-19 impact on managed services has been fruitful, with the market growth enhanced than before. Given the prevalent lockdown situation, managed services vendors are now investing heavily in remote-centric worker solutions, which can make the market highly resilient in the coming years, even as the world is currently rushing to achieve a COVID-19 breakthrough. Request a Free Sample @ https //www.marketresearchfuture.com/sample_request/6294 Competitive Outlook Players leading the enterprise file synchronization sharing market include Microsoft Corporation (US), Dropbox (US), Citrix Systems (US), IBM Aspera (US), BlackBerry (Canada), VMware Inc. (US), OpenText (Canada), Google Inc. (US), Thru. Inc. (US), Egnyte (US), Syncplicity (US), Acronis International (Switzerland), SkySync (US), j2 Global (US), HighQ Solutions (UK), ownCloud (Germany), Nextcloud (Germany), CodeLathe (FileCloud) (US), Qnext Corp. (FileFlex) (Canada), Intralinks (US), XMedius Solutions (Canada), Northbridge Secure Systems (Australia), Inspire-Tech (Singapore/US), Wanpath LLC (US), CTERA Networks (Israel/US), and Accellion (US), among others. Segmentation By Component Standalone EFSS Solution, Integrated EFSS Solution, and others. By Deployment Type On-Cloud and On-Premises. By Organization Size Large Enterprises and small medium-sized enterprises (SMEs). By Vertical BFSI, Software Technology, Government Public Sector, Healthcare, Legal, Education, Retail, Media Entertainment, and others. By Regions Europe, North America, APAC, and Rest of the World. Regional Analysis Europe dominates the global enterprise file synchronization sharing market. The leading market share attributes to the continuous adoption of the latest technological advancements, such as integrating cloud and mobile technologies within traditional enterprise file sharing and synchronization solutions. Also, early adoption and constant innovation by the organizations substantiate the growth of the regional market. The European enterprise file synchronization sharing market is projected to retain its dominance throughout the estimated period. North America stands second in the global enterprise file synchronization sharing market. The market is driven by the presence of several notable players and well-equipped infrastructure that allows development and early adoption of technologies. The US and Canada are the key growth contributors to the regional market. Additionally, various dynamic diversified multinational organizations foster the growth of the regional market. The North American enterprise file synchronization sharing market is expected to create a substantial revenue pocket during the forecast period. Table of Contents 1Executive Summary 2Scope of the Report 2.1Market Definition 2.2Scope of the Study 2.2.1Research objectives 2.2.2Assumptions Limitations 2.3Markets Structure Continued…. Browse Full Report Details @ https //www.marketresearchfuture.com/reports/enterprise-file-synchronization-sharing-market-6294 List of Tables Table1 Global Enterprise File Synchronization Sharing Market, By Region, 2020–2027 Table2 North America Enterprise File Synchronization Sharing Market, By Country, 2020–2027 Table3 Europe Enterprise File Synchronization Sharing Market, By Country, 2020–2027 Continued… List of Figures FIGURE 1 Global Enterprise File Synchronization Sharing Market Segmentation FIGURE 2 Forecast Methodology FIGURE 3 Porter’s Five Forces Analysis Of Global Enterprise File Synchronization Sharing Market Continued… Trending #MRFR Report** https //ictmrfr.blogspot.com/2022/04/geofencing-market-companies-growth-with.html https //blogfreely.net/pranali004/telecom-expense-management-market-size-impressive-cagr-changing-business-scope https //postheaven.net/pranali004/financial-app-industry-impressive-cagr-changing-business-needs-scope-of https //market-research-future.tribe.so/post/openstack-service-market-research-impressive-cagr-changing-scope-of-current--6263de46791566c10c79891e https //www.scutify.com/articles/2022-04-24-infrastructure-as-a-service-industry-cagr-changing-business-scope-of-current-and-future-industry- About Market Research Future Market Research Future (MRFR) has created a niche in the world of market research. It is counted among the top market research companies that offer well-researched and updated market research reports and insights to businesses of all sizes. What sets us apart is our super-responsive team that offers quality work keeping clients abridged of the prospective challenges and opportunities in various markets. Our team is adept in their space as well as patiently listens to every client. The best part is they know their work inside out and possess the expertise to guide the client in the right direction and achieve results on a tight deadline. We are a one-stop solution for all your data research needs. Our team does not believe in the “one size fits all” approach to creating a report that is detailed and concise. We handle 13 industry verticals including Healthcare, Chemicals and Materials, Information and Communications Technology, Semiconductor and Electronics, Energy and Power, Food, Beverages Nutrition, Automobile, Consumer and Retail, Aerospace and Defense, Industrial Automation and Equipment, Packaging Transport, Construction, and Agriculture. With our unique approach for every market report, we aim to reach the zenith in qualitative business intelligence and syndicated market research. Contact Market Research Future (Part of Wantstats Research and Media Private Limited) 99 Hudson Street, 5Th Floor New York, NY 10013 United States of America 1 628 258 0071 (US) 44 2035 002 764 (UK) Email sales@marketresearchfuture.com Website https //www.marketresearchfuture.com
https://w.atwiki.jp/fattencho/pages/29.html
/*! * jQuery JavaScript Library v1.4.3 * http //jquery.com/ * * Copyright 2010, John Resig * Dual licensed under the MIT or GPL Version 2 licenses. * http //jquery.org/license * * Includes Sizzle.js * http //sizzlejs.com/ * Copyright 2010, The Dojo Foundation * Released under the MIT, BSD, and GPL Licenses. * * Date Thu Oct 14 23 10 06 2010 -0400 */ (function( window, undefined ) { // Use the correct document accordingly with window argument (sandbox) var document = window.document; var jQuery = (function() { // Define a local copy of jQuery var jQuery = function( selector, context ) { // The jQuery object is actually just the init constructor enhanced return new jQuery.fn.init( selector, context ); }, // Map over jQuery in case of overwrite _jQuery = window.jQuery, // Map over the $ in case of overwrite _$ = window.$, // A central reference to the root jQuery(document) rootjQuery, // A simple way to check for HTML strings or ID strings // (both of which we optimize for) quickExpr = /^(? [^ ]*( [\w\W]+ )[^ ]*$|#([\w\-]+)$)/, // Is it a simple selector isSimple = /^.[^ #\[\.,]*$/, // Check if a string has a non-whitespace character in it rnotwhite = /\S/, rwhite = /\s/, // Used for trimming whitespace trimLeft = /^\s+/, trimRight = /\s+$/, // Check for non-word characters rnonword = /\W/, // Check for digits rdigit = /\d/, // Match a standalone tag rsingleTag = /^ (\w+)\s*\/? (? \/\1 )?$/, // JSON RegExp rvalidchars = /^[\], {}\s]*$/, rvalidescape = /\\(? ["\\\/bfnrt]|u[0-9a-fA-F]{4})/g, rvalidtokens = /"[^"\\\n\r]*"|true|false|null|-?\d+(? \.\d*)?(? [eE][+\-]?\d+)?/g, rvalidbraces = /(? ^| |,)(? \s*\[)+/g, // Useragent RegExp rwebkit = /(webkit)[ \/]([\w.]+)/, ropera = /(opera)(? .*version)?[ \/]([\w.]+)/, rmsie = /(msie) ([\w.]+)/, rmozilla = /(mozilla)(? .*? rv ([\w.]+))?/, // Keep a UserAgent string for use with jQuery.browser userAgent = navigator.userAgent, // For matching the engine and version of the browser browserMatch, // Has the ready events already been bound? readyBound = false, // The functions to execute on DOM ready readyList = [], // The ready event handler DOMContentLoaded, // Save a reference to some core methods toString = Object.prototype.toString, hasOwn = Object.prototype.hasOwnProperty, push = Array.prototype.push, slice = Array.prototype.slice, trim = String.prototype.trim, indexOf = Array.prototype.indexOf, // [[Class]] - type pairs class2type = {}; jQuery.fn = jQuery.prototype = { init function( selector, context ) { var match, elem, ret, doc; // Handle $(""), $(null), or $(undefined) if ( !selector ) { return this; } // Handle $(DOMElement) if ( selector.nodeType ) { this.context = this[0] = selector; this.length = 1; return this; } // The body element only exists once, optimize finding it if ( selector === "body" !context document.body ) { this.context = document; this[0] = document.body; this.selector = "body"; this.length = 1; return this; } // Handle HTML strings if ( typeof selector === "string" ) { // Are we dealing with HTML string or an ID? match = quickExpr.exec( selector ); // Verify a match, and that no context was specified for #id if ( match (match[1] || !context) ) { // HANDLE $(html) - $(array) if ( match[1] ) { doc = (context ? context.ownerDocument || context document); // If a single string is passed in and it s a single tag // just do a createElement and skip the rest ret = rsingleTag.exec( selector ); if ( ret ) { if ( jQuery.isPlainObject( context ) ) { selector = [ document.createElement( ret[1] ) ]; jQuery.fn.attr.call( selector, context, true ); } else { selector = [ doc.createElement( ret[1] ) ]; } } else { ret = jQuery.buildFragment( [ match[1] ], [ doc ] ); selector = (ret.cacheable ? ret.fragment.cloneNode(true) ret.fragment).childNodes; } return jQuery.merge( this, selector ); // HANDLE $("#id") } else { elem = document.getElementById( match[2] ); // Check parentNode to catch when Blackberry 4.6 returns // nodes that are no longer in the document #6963 if ( elem elem.parentNode ) { // Handle the case where IE and Opera return items // by name instead of ID if ( elem.id !== match[2] ) { return rootjQuery.find( selector ); } // Otherwise, we inject the element directly into the jQuery object this.length = 1; this[0] = elem; } this.context = document; this.selector = selector; return this; } // HANDLE $("TAG") } else if ( !context !rnonword.test( selector ) ) { this.selector = selector; this.context = document; selector = document.getElementsByTagName( selector ); return jQuery.merge( this, selector ); // HANDLE $(expr, $(...)) } else if ( !context || context.jquery ) { return (context || rootjQuery).find( selector ); // HANDLE $(expr, context) // (which is just equivalent to $(context).find(expr) } else { return jQuery( context ).find( selector ); } // HANDLE $(function) // Shortcut for document ready } else if ( jQuery.isFunction( selector ) ) { return rootjQuery.ready( selector ); } if (selector.selector !== undefined) { this.selector = selector.selector; this.context = selector.context; } return jQuery.makeArray( selector, this ); }, // Start with an empty selector selector "", // The current version of jQuery being used jquery "1.4.3", // The default length of a jQuery object is 0 length 0, // The number of elements contained in the matched element set size function() { return this.length; }, toArray function() { return slice.call( this, 0 ); }, // Get the Nth element in the matched element set OR // Get the whole matched element set as a clean array get function( num ) { return num == null ? // Return a clean array this.toArray() // Return just the object ( num 0 ? this.slice(num)[ 0 ] this[ num ] ); }, // Take an array of elements and push it onto the stack // (returning the new matched element set) pushStack function( elems, name, selector ) { // Build a new jQuery matched element set var ret = jQuery(); if ( jQuery.isArray( elems ) ) { push.apply( ret, elems ); } else { jQuery.merge( ret, elems ); } // Add the old object onto the stack (as a reference) ret.prevObject = this; ret.context = this.context; if ( name === "find" ) { ret.selector = this.selector + (this.selector ? " " "") + selector; } else if ( name ) { ret.selector = this.selector + "." + name + "(" + selector + ")"; } // Return the newly-formed element set return ret; }, // Execute a callback for every element in the matched set. // (You can seed the arguments with an array of args, but this is // only used internally.) each function( callback, args ) { return jQuery.each( this, callback, args ); }, ready function( fn ) { // Attach the listeners jQuery.bindReady(); // If the DOM is already ready if ( jQuery.isReady ) { // Execute the function immediately fn.call( document, jQuery ); // Otherwise, remember the function for later } else if ( readyList ) { // Add the function to the wait list readyList.push( fn ); } return this; }, eq function( i ) { return i === -1 ? this.slice( i ) this.slice( i, +i + 1 ); }, first function() { return this.eq( 0 ); }, last function() { return this.eq( -1 ); }, slice function() { return this.pushStack( slice.apply( this, arguments ), "slice", slice.call(arguments).join(",") ); }, map function( callback ) { return this.pushStack( jQuery.map(this, function( elem, i ) { return callback.call( elem, i, elem ); })); }, end function() { return this.prevObject || jQuery(null); }, // For internal use only. // Behaves like an Array s method, not like a jQuery method. push push, sort [].sort, splice [].splice }; // Give the init function the jQuery prototype for later instantiation jQuery.fn.init.prototype = jQuery.fn; jQuery.extend = jQuery.fn.extend = function() { // copy reference to target object var target = arguments[0] || {}, i = 1, length = arguments.length, deep = false, options, name, src, copy, copyIsArray; // Handle a deep copy situation if ( typeof target === "boolean" ) { deep = target; target = arguments[1] || {}; // skip the boolean and the target i = 2; } // Handle case when target is a string or something (possible in deep copy) if ( typeof target !== "object" !jQuery.isFunction(target) ) { target = {}; } // extend jQuery itself if only one argument is passed if ( length === i ) { target = this; --i; } for ( ; i length; i++ ) { // Only deal with non-null/undefined values if ( (options = arguments[ i ]) != null ) { // Extend the base object for ( name in options ) { src = target[ name ]; copy = options[ name ]; // Prevent never-ending loop if ( target === copy ) { continue; } // Recurse if we re merging plain objects or arrays if ( deep copy ( jQuery.isPlainObject(copy) || (copyIsArray = jQuery.isArray(copy)) ) ) { if ( copyIsArray ) { copyIsArray = false; clone = src jQuery.isArray(src) ? src []; } else { clone = src jQuery.isPlainObject(src) ? src {}; } // Never move original objects, clone them target[ name ] = jQuery.extend( deep, clone, copy ); // Don t bring in undefined values } else if ( copy !== undefined ) { target[ name ] = copy; } } } } // Return the modified object return target; }; jQuery.extend({ noConflict function( deep ) { window.$ = _$; if ( deep ) { window.jQuery = _jQuery; } return jQuery; }, // Is the DOM ready to be used? Set to true once it occurs. isReady false, // A counter to track how many items to wait for before // the ready event fires. See #6781 readyWait 1, // Handle when the DOM is ready ready function( wait ) { // A third-party is pushing the ready event forwards if ( wait === true ) { jQuery.readyWait--; } // Make sure that the DOM is not already loaded if ( !jQuery.readyWait || (wait !== true !jQuery.isReady) ) { // Make sure body exists, at least, in case IE gets a little overzealous (ticket #5443). if ( !document.body ) { return setTimeout( jQuery.ready, 1 ); } // Remember that the DOM is ready jQuery.isReady = true; // If a normal DOM Ready event fired, decrement, and wait if need be if ( wait !== true --jQuery.readyWait 0 ) { return; } // If there are functions bound, to execute if ( readyList ) { // Execute all of them var fn, i = 0; while ( (fn = readyList[ i++ ]) ) { fn.call( document, jQuery ); } // Reset the list of functions readyList = null; } // Trigger any bound ready events if ( jQuery.fn.triggerHandler ) { jQuery( document ).triggerHandler( "ready" ); } } }, bindReady function() { if ( readyBound ) { return; } readyBound = true; // Catch cases where $(document).ready() is called after the // browser event has already occurred. if ( document.readyState === "complete" ) { // Handle it asynchronously to allow scripts the opportunity to delay ready return setTimeout( jQuery.ready, 1 ); } // Mozilla, Opera and webkit nightlies currently support this event if ( document.addEventListener ) { // Use the handy event callback document.addEventListener( "DOMContentLoaded", DOMContentLoaded, false ); // A fallback to window.onload, that will always work window.addEventListener( "load", jQuery.ready, false ); // If IE event model is used } else if ( document.attachEvent ) { // ensure firing before onload, // maybe late but safe also for iframes document.attachEvent("onreadystatechange", DOMContentLoaded); // A fallback to window.onload, that will always work window.attachEvent( "onload", jQuery.ready ); // If IE and not a frame // continually check to see if the document is ready var toplevel = false; try { toplevel = window.frameElement == null; } catch(e) {} if ( document.documentElement.doScroll toplevel ) { doScrollCheck(); } } }, // See test/unit/core.js for details concerning isFunction. // Since version 1.3, DOM methods and functions like alert // aren t supported. They return false on IE (#2968). isFunction function( obj ) { return jQuery.type(obj) === "function"; }, isArray Array.isArray || function( obj ) { return jQuery.type(obj) === "array"; }, // A crude way of determining if an object is a window isWindow function( obj ) { return obj typeof obj === "object" "setInterval" in obj; }, isNaN function( obj ) { return obj == null || !rdigit.test( obj ) || isNaN( obj ); }, type function( obj ) { return obj == null ? String( obj ) class2type[ toString.call(obj) ] || "object"; }, isPlainObject function( obj ) { // Must be an Object. // Because of IE, we also have to check the presence of the constructor property. // Make sure that DOM nodes and window objects don t pass through, as well if ( !obj || jQuery.type(obj) !== "object" || obj.nodeType || jQuery.isWindow( obj ) ) { return false; } // Not own constructor property must be Object if ( obj.constructor !hasOwn.call(obj, "constructor") !hasOwn.call(obj.constructor.prototype, "isPrototypeOf") ) { return false; } // Own properties are enumerated firstly, so to speed up, // if last one is own, then all properties are own. var key; for ( key in obj ) {} return key === undefined || hasOwn.call( obj, key ); }, isEmptyObject function( obj ) { for ( var name in obj ) { return false; } return true; }, error function( msg ) { throw msg; }, parseJSON function( data ) { if ( typeof data !== "string" || !data ) { return null; } // Make sure leading/trailing whitespace is removed (IE can t handle it) data = jQuery.trim( data ); // Make sure the incoming data is actual JSON // Logic borrowed from http //json.org/json2.js if ( rvalidchars.test(data.replace(rvalidescape, "@") .replace(rvalidtokens, "]") .replace(rvalidbraces, "")) ) { // Try to use the native JSON parser first return window.JSON window.JSON.parse ? window.JSON.parse( data ) (new Function("return " + data))(); } else { jQuery.error( "Invalid JSON " + data ); } }, noop function() {}, // Evalulates a script in a global context globalEval function( data ) { if ( data rnotwhite.test(data) ) { // Inspired by code by Andrea Giammarchi // http //webreflection.blogspot.com/2007/08/global-scope-evaluation-and-dom.html var head = document.getElementsByTagName("head")[0] || document.documentElement, script = document.createElement("script"); script.type = "text/javascript"; if ( jQuery.support.scriptEval ) { script.appendChild( document.createTextNode( data ) ); } else { script.text = data; } // Use insertBefore instead of appendChild to circumvent an IE6 bug. // This arises when a base node is used (#2709). head.insertBefore( script, head.firstChild ); head.removeChild( script ); } }, nodeName function( elem, name ) { return elem.nodeName elem.nodeName.toUpperCase() === name.toUpperCase(); }, // args is for internal usage only each function( object, callback, args ) { var name, i = 0, length = object.length, isObj = length === undefined || jQuery.isFunction(object); if ( args ) { if ( isObj ) { for ( name in object ) { if ( callback.apply( object[ name ], args ) === false ) { break; } } } else { for ( ; i length; ) { if ( callback.apply( object[ i++ ], args ) === false ) { break; } } } // A special, fast, case for the most common use of each } else { if ( isObj ) { for ( name in object ) { if ( callback.call( object[ name ], name, object[ name ] ) === false ) { break; } } } else { for ( var value = object[0]; i length callback.call( value, i, value ) !== false; value = object[++i] ) {} } } return object; }, // Use native String.trim function wherever possible trim trim ? function( text ) { return text == null ? "" trim.call( text ); } // Otherwise use our own trimming functionality function( text ) { return text == null ? "" text.toString().replace( trimLeft, "" ).replace( trimRight, "" ); }, // results is for internal usage only makeArray function( array, results ) { var ret = results || []; if ( array != null ) { // The window, strings (and functions) also have length // The extra typeof function check is to prevent crashes // in Safari 2 (See #3039) // Tweaked logic slightly to handle Blackberry 4.7 RegExp issues #6930 var type = jQuery.type(array); if ( array.length == null || type === "string" || type === "function" || type === "regexp" || jQuery.isWindow( array ) ) { push.call( ret, array ); } else { jQuery.merge( ret, array ); } } return ret; }, inArray function( elem, array ) { if ( array.indexOf ) { return array.indexOf( elem ); } for ( var i = 0, length = array.length; i length; i++ ) { if ( array[ i ] === elem ) { return i; } } return -1; }, merge function( first, second ) { var i = first.length, j = 0; if ( typeof second.length === "number" ) { for ( var l = second.length; j l; j++ ) { first[ i++ ] = second[ j ]; } } else { while ( second[j] !== undefined ) { first[ i++ ] = second[ j++ ]; } } first.length = i; return first; }, grep function( elems, callback, inv ) { var ret = [], retVal; inv = !!inv; // Go through the array, only saving the items // that pass the validator function for ( var i = 0, length = elems.length; i length; i++ ) { retVal = !!callback( elems[ i ], i ); if ( inv !== retVal ) { ret.push( elems[ i ] ); } } return ret; }, // arg is for internal usage only map function( elems, callback, arg ) { var ret = [], value; // Go through the array, translating each of the items to their // new value (or values). for ( var i = 0, length = elems.length; i length; i++ ) { value = callback( elems[ i ], i, arg ); if ( value != null ) { ret[ ret.length ] = value; } } return ret.concat.apply( [], ret ); }, // A global GUID counter for objects guid 1, proxy function( fn, proxy, thisObject ) { if ( arguments.length === 2 ) { if ( typeof proxy === "string" ) { thisObject = fn; fn = thisObject[ proxy ]; proxy = undefined; } else if ( proxy !jQuery.isFunction( proxy ) ) { thisObject = proxy; proxy = undefined; } } if ( !proxy fn ) { proxy = function() { return fn.apply( thisObject || this, arguments ); }; } // Set the guid of unique handler to the same of original handler, so it can be removed if ( fn ) { proxy.guid = fn.guid = fn.guid || proxy.guid || jQuery.guid++; } // So proxy can be declared as an argument return proxy; }, // Mutifunctional method to get and set values to a collection // The value/s can be optionally by executed if its a function access function( elems, key, value, exec, fn, pass ) { var length = elems.length; // Setting many attributes if ( typeof key === "object" ) { for ( var k in key ) { jQuery.access( elems, k, key[k], exec, fn, value ); } return elems; } // Setting one attribute if ( value !== undefined ) { // Optionally, function values get executed if exec is true exec = !pass exec jQuery.isFunction(value); for ( var i = 0; i length; i++ ) { fn( elems[i], key, exec ? value.call( elems[i], i, fn( elems[i], key ) ) value, pass ); } return elems; } // Getting an attribute return length ? fn( elems[0], key ) undefined; }, now function() { return (new Date()).getTime(); }, // Use of jQuery.browser is frowned upon. // More details http //docs.jquery.com/Utilities/jQuery.browser uaMatch function( ua ) { ua = ua.toLowerCase(); var match = rwebkit.exec( ua ) || ropera.exec( ua ) || rmsie.exec( ua ) || ua.indexOf("compatible") 0 rmozilla.exec( ua ) || []; return { browser match[1] || "", version match[2] || "0" }; }, browser {} }); // Populate the class2type map jQuery.each("Boolean Number String Function Array Date RegExp Object".split(" "), function(i, name) { class2type[ "[object " + name + "]" ] = name.toLowerCase(); }); browserMatch = jQuery.uaMatch( userAgent ); if ( browserMatch.browser ) { jQuery.browser[ browserMatch.browser ] = true; jQuery.browser.version = browserMatch.version; } // Deprecated, use jQuery.browser.webkit instead if ( jQuery.browser.webkit ) { jQuery.browser.safari = true; } if ( indexOf ) { jQuery.inArray = function( elem, array ) { return indexOf.call( array, elem ); }; } // Verify that \s matches non-breaking spaces // (IE fails on this test) if ( !rwhite.test( "\xA0" ) ) { trimLeft = /^[\s\xA0]+/; trimRight = /[\s\xA0]+$/; } // All jQuery objects should point back to these rootjQuery = jQuery(document); // Cleanup functions for the document ready method if ( document.addEventListener ) { DOMContentLoaded = function() { document.removeEventListener( "DOMContentLoaded", DOMContentLoaded, false ); jQuery.ready(); }; } else if ( document.attachEvent ) { DOMContentLoaded = function() { // Make sure body exists, at least, in case IE gets a little overzealous (ticket #5443). if ( document.readyState === "complete" ) { document.detachEvent( "onreadystatechange", DOMContentLoaded ); jQuery.ready(); } }; } // The DOM ready check for Internet Explorer function doScrollCheck() { if ( jQuery.isReady ) { return; } try { // If IE is used, use the trick by Diego Perini // http //javascript.nwbox.com/IEContentLoaded/ document.documentElement.doScroll("left"); } catch(e) { setTimeout( doScrollCheck, 1 ); return; } // and execute any waiting functions jQuery.ready(); } // Expose jQuery to the global object return (window.jQuery = window.$ = jQuery); })(); (function() { jQuery.support = {}; var root = document.documentElement, script = document.createElement("script"), div = document.createElement("div"), id = "script" + jQuery.now(); div.style.display = "none"; div.innerHTML = " link/ table /table a href= /a style= color red;float left;opacity .55; a /a input type= checkbox / "; var all = div.getElementsByTagName("*"), a = div.getElementsByTagName("a")[0], select = document.createElement("select"), opt = select.appendChild( document.createElement("option") ); // Can t get basic test support if ( !all || !all.length || !a ) { return; } jQuery.support = { // IE strips leading whitespace when .innerHTML is used leadingWhitespace div.firstChild.nodeType === 3, // Make sure that tbody elements aren t automatically inserted // IE will insert them into empty tables tbody !div.getElementsByTagName("tbody").length, // Make sure that link elements get serialized correctly by innerHTML // This requires a wrapper element in IE htmlSerialize !!div.getElementsByTagName("link").length, // Get the style information from getAttribute // (IE uses .cssText insted) style /red/.test( a.getAttribute("style") ), // Make sure that URLs aren t manipulated // (IE normalizes it by default) hrefNormalized a.getAttribute("href") === "/a", // Make sure that element opacity exists // (IE uses filter instead) // Use a regex to work around a WebKit issue. See #5145 opacity /^0.55$/.test( a.style.opacity ), // Verify style float existence // (IE uses styleFloat instead of cssFloat) cssFloat !!a.style.cssFloat, // Make sure that if no value is specified for a checkbox // that it defaults to "on". // (WebKit defaults to "" instead) checkOn div.getElementsByTagName("input")[0].value === "on", // Make sure that a selected-by-default option has a working selected property. // (WebKit defaults to false instead of true, IE too, if it s in an optgroup) optSelected opt.selected, // Will be defined later optDisabled false, checkClone false, scriptEval false, noCloneEvent true, boxModel null, inlineBlockNeedsLayout false, shrinkWrapBlocks false, reliableHiddenOffsets true }; // Make sure that the options inside disabled selects aren t marked as disabled // (WebKit marks them as diabled) select.disabled = true; jQuery.support.optDisabled = !opt.disabled; script.type = "text/javascript"; try { script.appendChild( document.createTextNode( "window." + id + "=1;" ) ); } catch(e) {} root.insertBefore( script, root.firstChild ); // Make sure that the execution of code works by injecting a script // tag with appendChild/createTextNode // (IE doesn t support this, fails, and uses .text instead) if ( window[ id ] ) { jQuery.support.scriptEval = true; delete window[ id ]; } root.removeChild( script ); if ( div.attachEvent div.fireEvent ) { div.attachEvent("onclick", function click() { // Cloning a node shouldn t copy over any // bound event handlers (IE does this) jQuery.support.noCloneEvent = false; div.detachEvent("onclick", click); }); div.cloneNode(true).fireEvent("onclick"); } div = document.createElement("div"); div.innerHTML = " input type= radio name= radiotest checked= checked / "; var fragment = document.createDocumentFragment(); fragment.appendChild( div.firstChild ); // WebKit doesn t clone checked state correctly in fragments jQuery.support.checkClone = fragment.cloneNode(true).cloneNode(true).lastChild.checked; // Figure out if the W3C box model works as expected // document.body must exist before we can do this jQuery(function() { var div = document.createElement("div"); div.style.width = div.style.paddingLeft = "1px"; document.body.appendChild( div ); jQuery.boxModel = jQuery.support.boxModel = div.offsetWidth === 2; if ( "zoom" in div.style ) { // Check if natively block-level elements act like inline-block // elements when setting their display to inline and giving // them layout // (IE 8 does this) div.style.display = "inline"; div.style.zoom = 1; jQuery.support.inlineBlockNeedsLayout = div.offsetWidth === 2; // Check if elements with layout shrink-wrap their children // (IE 6 does this) div.style.display = ""; div.innerHTML = " div style= width 4px; /div "; jQuery.support.shrinkWrapBlocks = div.offsetWidth !== 2; } div.innerHTML = " table tr td style= padding 0;display none /td td t /td /tr /table "; var tds = div.getElementsByTagName("td"); // Check if table cells still have offsetWidth/Height when they are set // to display none and there are still other visible table cells in a // table row; if so, offsetWidth/Height are not reliable for use when // determining if an element has been hidden directly using // display none (it is still safe to use offsets if a parent element is // hidden; don safety goggles and see bug #4512 for more information). // (only IE 8 fails this test) jQuery.support.reliableHiddenOffsets = tds[0].offsetHeight === 0; tds[0].style.display = ""; tds[1].style.display = "none"; // Check if empty table cells still have offsetWidth/Height // (IE 8 fail this test) jQuery.support.reliableHiddenOffsets = jQuery.support.reliableHiddenOffsets tds[0].offsetHeight === 0; div.innerHTML = ""; document.body.removeChild( div ).style.display = "none"; div = tds = null; }); // Technique from Juriy Zaytsev // http //thinkweb2.com/projects/prototype/detecting-event-support-without-browser-sniffing/ var eventSupported = function( eventName ) { var el = document.createElement("div"); eventName = "on" + eventName; var isSupported = (eventName in el); if ( !isSupported ) { el.setAttribute(eventName, "return;"); isSupported = typeof el[eventName] === "function"; } el = null; return isSupported; }; jQuery.support.submitBubbles = eventSupported("submit"); jQuery.support.changeBubbles = eventSupported("change"); // release memory in IE root = script = div = all = a = null; })(); jQuery.props = { "for" "htmlFor", "class" "className", readonly "readOnly", maxlength "maxLength", cellspacing "cellSpacing", rowspan "rowSpan", colspan "colSpan", tabindex "tabIndex", usemap "useMap", frameborder "frameBorder" }; var windowData = {}, rbrace = /^(? \{.*\}|\[.*\])$/; jQuery.extend({ cache {}, // Please use with caution uuid 0, // Unique for each copy of jQuery on the page expando "jQuery" + jQuery.now(), // The following elements throw uncatchable exceptions if you // attempt to add expando properties to them. noData { "embed" true, // Ban all objects except for Flash (which handle expandos) "object" "clsid D27CDB6E-AE6D-11cf-96B8-444553540000", "applet" true }, data function( elem, name, data ) { if ( !jQuery.acceptData( elem ) ) { return; } elem = elem == window ? windowData elem; var isNode = elem.nodeType, id = isNode ? elem[ jQuery.expando ] null, cache = jQuery.cache, thisCache; if ( isNode !id typeof name === "string" data === undefined ) { return; } // Get the data from the object directly if ( !isNode ) { cache = elem; // Compute a unique ID for the element } else if ( !id ) { elem[ jQuery.expando ] = id = ++jQuery.uuid; } // Avoid generating a new cache unless none exists and we // want to manipulate it. if ( typeof name === "object" ) { if ( isNode ) { cache[ id ] = jQuery.extend(cache[ id ], name); } else { jQuery.extend( cache, name ); } } else if ( isNode !cache[ id ] ) { cache[ id ] = {}; } thisCache = isNode ? cache[ id ] cache; // Prevent overriding the named cache with undefined values if ( data !== undefined ) { thisCache[ name ] = data; } return typeof name === "string" ? thisCache[ name ] thisCache; }, removeData function( elem, name ) { if ( !jQuery.acceptData( elem ) ) { return; } elem = elem == window ? windowData elem; var isNode = elem.nodeType, id = isNode ? elem[ jQuery.expando ] elem, cache = jQuery.cache, thisCache = isNode ? cache[ id ] id; // If we want to remove a specific section of the element s data if ( name ) { if ( thisCache ) { // Remove the section of cache data delete thisCache[ name ]; // If we ve removed all the data, remove the element s cache if ( isNode jQuery.isEmptyObject(thisCache) ) { jQuery.removeData( elem ); } } // Otherwise, we want to remove all of the element s data } else { if ( isNode jQuery.support.deleteExpando ) { delete elem[ jQuery.expando ]; } else if ( elem.removeAttribute ) { elem.removeAttribute( jQuery.expando ); // Completely remove the data cache } else if ( isNode ) { delete cache[ id ]; // Remove all fields from the object } else { for ( var n in elem ) { delete elem[ n ]; } } } }, // A method for determining if a DOM node can handle the data expando acceptData function( elem ) { if ( elem.nodeName ) { var match = jQuery.noData[ elem.nodeName.toLowerCase() ]; if ( match ) { return !(match === true || elem.getAttribute("classid") !== match); } } return true; } }); jQuery.fn.extend({ data function( key, value ) { if ( typeof key === "undefined" ) { return this.length ? jQuery.data( this[0] ) null; } else if ( typeof key === "object" ) { return this.each(function() { jQuery.data( this, key ); }); } var parts = key.split("."); parts[1] = parts[1] ? "." + parts[1] ""; if ( value === undefined ) { var data = this.triggerHandler("getData" + parts[1] + "!", [parts[0]]); // Try to fetch any internally stored data first if ( data === undefined this.length ) { data = jQuery.data( this[0], key ); // If nothing was found internally, try to fetch any // data from the HTML5 data-* attribute if ( data === undefined this[0].nodeType === 1 ) { data = this[0].getAttribute( "data-" + key ); if ( typeof data === "string" ) { try { data = data === "true" ? true data === "false" ? false data === "null" ? null !jQuery.isNaN( data ) ? parseFloat( data ) rbrace.test( data ) ? jQuery.parseJSON( data ) data; } catch( e ) {} } else { data = undefined; } } } return data === undefined parts[1] ? this.data( parts[0] ) data; } else { return this.each(function() { var $this = jQuery( this ), args = [ parts[0], value ]; $this.triggerHandler( "setData" + parts[1] + "!", args ); jQuery.data( this, key, value ); $this.triggerHandler( "changeData" + parts[1] + "!", args ); }); } }, removeData function( key ) { return this.each(function() { jQuery.removeData( this, key ); }); } }); jQuery.extend({ queue function( elem, type, data ) { if ( !elem ) { return; } type = (type || "fx") + "queue"; var q = jQuery.data( elem, type ); // Speed up dequeue by getting out quickly if this is just a lookup if ( !data ) { return q || []; } if ( !q || jQuery.isArray(data) ) { q = jQuery.data( elem, type, jQuery.makeArray(data) ); } else { q.push( data ); } return q; }, dequeue function( elem, type ) { type = type || "fx"; var queue = jQuery.queue( elem, type ), fn = queue.shift(); // If the fx queue is dequeued, always remove the progress sentinel if ( fn === "inprogress" ) { fn = queue.shift(); } if ( fn ) { // Add a progress sentinel to prevent the fx queue from being // automatically dequeued if ( type === "fx" ) { queue.unshift("inprogress"); } fn.call(elem, function() { jQuery.dequeue(elem, type); }); } } }); jQuery.fn.extend({ queue function( type, data ) { if ( typeof type !== "string" ) { data = type; type = "fx"; } if ( data === undefined ) { return jQuery.queue( this[0], type ); } return this.each(function( i ) { var queue = jQuery.queue( this, type, data ); if ( type === "fx" queue[0] !== "inprogress" ) { jQuery.dequeue( this, type ); } }); }, dequeue function( type ) { return this.each(function() { jQuery.dequeue( this, type ); }); }, // Based off of the plugin by Clint Helfers, with permission. // http //blindsignals.com/index.php/2009/07/jquery-delay/ delay function( time, type ) { time = jQuery.fx ? jQuery.fx.speeds[time] || time time; type = type || "fx"; return this.queue( type, function() { var elem = this; setTimeout(function() { jQuery.dequeue( elem, type ); }, time ); }); }, clearQueue function( type ) { return this.queue( type || "fx", [] ); } }); var rclass = /[\n\t]/g, rspaces = /\s+/, rreturn = /\r/g, rspecialurl = /^(? href|src|style)$/, rtype = /^(? button|input)$/i, rfocusable = /^(? button|input|object|select|textarea)$/i, rclickable = /^a(? rea)?$/i, rradiocheck = /^(? radio|checkbox)$/i; jQuery.fn.extend({ attr function( name, value ) { return jQuery.access( this, name, value, true, jQuery.attr ); }, removeAttr function( name, fn ) { return this.each(function(){ jQuery.attr( this, name, "" ); if ( this.nodeType === 1 ) { this.removeAttribute( name ); } }); }, addClass function( value ) { if ( jQuery.isFunction(value) ) { return this.each(function(i) { var self = jQuery(this); self.addClass( value.call(this, i, self.attr("class")) ); }); } if ( value typeof value === "string" ) { var classNames = (value || "").split( rspaces ); for ( var i = 0, l = this.length; i l; i++ ) { var elem = this[i]; if ( elem.nodeType === 1 ) { if ( !elem.className ) { elem.className = value; } else { var className = " " + elem.className + " ", setClass = elem.className; for ( var c = 0, cl = classNames.length; c cl; c++ ) { if ( className.indexOf( " " + classNames[c] + " " ) 0 ) { setClass += " " + classNames[c]; } } elem.className = jQuery.trim( setClass ); } } } } return this; }, removeClass function( value ) { if ( jQuery.isFunction(value) ) { return this.each(function(i) { var self = jQuery(this); self.removeClass( value.call(this, i, self.attr("class")) ); }); } if ( (value typeof value === "string") || value === undefined ) { var classNames = (value || "").split( rspaces ); for ( var i = 0, l = this.length; i l; i++ ) { var elem = this[i]; if ( elem.nodeType === 1 elem.className ) { if ( value ) { var className = (" " + elem.className + " ").replace(rclass, " "); for ( var c = 0, cl = classNames.length; c cl; c++ ) { className = className.replace(" " + classNames[c] + " ", " "); } elem.className = jQuery.trim( className ); } else { elem.className = ""; } } } } return this; }, toggleClass function( value, stateVal ) { var type = typeof value, isBool = typeof stateVal === "boolean"; if ( jQuery.isFunction( value ) ) { return this.each(function(i) { var self = jQuery(this); self.toggleClass( value.call(this, i, self.attr("class"), stateVal), stateVal ); }); } return this.each(function() { if ( type === "string" ) { // toggle individual class names var className, i = 0, self = jQuery(this), state = stateVal, classNames = value.split( rspaces ); while ( (className = classNames[ i++ ]) ) { // check each className given, space seperated list state = isBool ? state !self.hasClass( className ); self[ state ? "addClass" "removeClass" ]( className ); } } else if ( type === "undefined" || type === "boolean" ) { if ( this.className ) { // store className if set jQuery.data( this, "__className__", this.className ); } // toggle whole className this.className = this.className || value === false ? "" jQuery.data( this, "__className__" ) || ""; } }); }, hasClass function( selector ) { var className = " " + selector + " "; for ( var i = 0, l = this.length; i l; i++ ) { if ( (" " + this[i].className + " ").replace(rclass, " ").indexOf( className ) -1 ) { return true; } } return false; }, val function( value ) { if ( !arguments.length ) { var elem = this[0]; if ( elem ) { if ( jQuery.nodeName( elem, "option" ) ) { // attributes.value is undefined in Blackberry 4.7 but // uses .value. See #6932 var val = elem.attributes.value; return !val || val.specified ? elem.value elem.text; } // We need to handle select boxes special if ( jQuery.nodeName( elem, "select" ) ) { var index = elem.selectedIndex, values = [], options = elem.options, one = elem.type === "select-one"; // Nothing was selected if ( index 0 ) { return null; } // Loop through all the selected options for ( var i = one ? index 0, max = one ? index + 1 options.length; i max; i++ ) { var option = options[ i ]; // Don t return options that are disabled or in a disabled optgroup if ( option.selected (jQuery.support.optDisabled ? !option.disabled option.getAttribute("disabled") === null) (!option.parentNode.disabled || !jQuery.nodeName( option.parentNode, "optgroup" )) ) { // Get the specific value for the option value = jQuery(option).val(); // We don t need an array for one selects if ( one ) { return value; } // Multi-Selects return an array values.push( value ); } } return values; } // Handle the case where in Webkit "" is returned instead of "on" if a value isn t specified if ( rradiocheck.test( elem.type ) !jQuery.support.checkOn ) { return elem.getAttribute("value") === null ? "on" elem.value; } // Everything else, we just grab the value return (elem.value || "").replace(rreturn, ""); } return undefined; } var isFunction = jQuery.isFunction(value); return this.each(function(i) { var self = jQuery(this), val = value; if ( this.nodeType !== 1 ) { return; } if ( isFunction ) { val = value.call(this, i, self.val()); } // Treat null/undefined as ""; convert numbers to string if ( val == null ) { val = ""; } else if ( typeof val === "number" ) { val += ""; } else if ( jQuery.isArray(val) ) { val = jQuery.map(val, function (value) { return value == null ? "" value + ""; }); } if ( jQuery.isArray(val) rradiocheck.test( this.type ) ) { this.checked = jQuery.inArray( self.val(), val ) = 0; } else if ( jQuery.nodeName( this, "select" ) ) { var values = jQuery.makeArray(val); jQuery( "option", this ).each(function() { this.selected = jQuery.inArray( jQuery(this).val(), values ) = 0; }); if ( !values.length ) { this.selectedIndex = -1; } } else { this.value = val; } }); } }); jQuery.extend({ attrFn { val true, css true, html true, text true, data true, width true, height true, offset true }, attr function( elem, name, value, pass ) { // don t set attributes on text and comment nodes if ( !elem || elem.nodeType === 3 || elem.nodeType === 8 ) { return undefined; } if ( pass name in jQuery.attrFn ) { return jQuery(elem)[name](value); } var notxml = elem.nodeType !== 1 || !jQuery.isXMLDoc( elem ), // Whether we are setting (or getting) set = value !== undefined; // Try to normalize/fix the name name = notxml jQuery.props[ name ] || name; // Only do all the following if this is a node (faster for style) if ( elem.nodeType === 1 ) { // These attributes require special treatment var special = rspecialurl.test( name ); // Safari mis-reports the default selected property of an option // Accessing the parent s selectedIndex property fixes it if ( name === "selected" !jQuery.support.optSelected ) { var parent = elem.parentNode; if ( parent ) { parent.selectedIndex; // Make sure that it also works with optgroups, see #5701 if ( parent.parentNode ) { parent.parentNode.selectedIndex; } } } // If applicable, access the attribute via the DOM 0 way // in checks fail in Blackberry 4.7 #6931 if ( (name in elem || elem[ name ] !== undefined) notxml !special ) { if ( set ) { // We can t allow the type property to be changed (since it causes problems in IE) if ( name === "type" rtype.test( elem.nodeName ) elem.parentNode ) { jQuery.error( "type property can t be changed" ); } if ( value === null ) { if ( elem.nodeType === 1 ) { elem.removeAttribute( name ); } } else { elem[ name ] = value; } } // browsers index elements by id/name on forms, give priority to attributes. if ( jQuery.nodeName( elem, "form" ) elem.getAttributeNode(name) ) { return elem.getAttributeNode( name ).nodeValue; } // elem.tabIndex doesn t always return the correct value when it hasn t been explicitly set // http //fluidproject.org/blog/2008/01/09/getting-setting-and-removing-tabindex-values-with-javascript/ if ( name === "tabIndex" ) { var attributeNode = elem.getAttributeNode( "tabIndex" ); return attributeNode attributeNode.specified ? attributeNode.value rfocusable.test( elem.nodeName ) || rclickable.test( elem.nodeName ) elem.href ? 0 undefined; } return elem[ name ]; } if ( !jQuery.support.style notxml name === "style" ) { if ( set ) { elem.style.cssText = "" + value; } return elem.style.cssText; } if ( set ) { // convert the value to a string (all browsers do this but IE) see #1070 elem.setAttribute( name, "" + value ); } // Ensure that missing attributes return undefined // Blackberry 4.7 returns "" from getAttribute #6938 if ( !elem.attributes[ name ] (elem.hasAttribute !elem.hasAttribute( name )) ) { return undefined; } var attr = !jQuery.support.hrefNormalized notxml special ? // Some attributes require a special call on IE elem.getAttribute( name, 2 ) elem.getAttribute( name ); // Non-existent attributes return null, we normalize to undefined return attr === null ? undefined attr; } } }); var rnamespaces = /\.(.*)$/, rformElems = /^(? textarea|input|select)$/i, rperiod = /\./g, rspace = / /g, rescape = /[^\w\s.|`]/g, fcleanup = function( nm ) { return nm.replace(rescape, "\\$ "); }, focusCounts = { focusin 0, focusout 0 }; /* * A number of helper functions used for managing events. * Many of the ideas behind this code originated from * Dean Edwards addEvent library. */ jQuery.event = { // Bind an event to an element // Original by Dean Edwards add function( elem, types, handler, data ) { if ( elem.nodeType === 3 || elem.nodeType === 8 ) { return; } // For whatever reason, IE has trouble passing the window object // around, causing it to be cloned in the process if ( jQuery.isWindow( elem ) ( elem !== window !elem.frameElement ) ) { elem = window; } if ( handler === false ) { handler = returnFalse; } var handleObjIn, handleObj; if ( handler.handler ) { handleObjIn = handler; handler = handleObjIn.handler; } // Make sure that the function being executed has a unique ID if ( !handler.guid ) { handler.guid = jQuery.guid++; } // Init the element s event structure var elemData = jQuery.data( elem ); // If no elemData is found then we must be trying to bind to one of the // banned noData elements if ( !elemData ) { return; } // Use a key less likely to result in collisions for plain JS objects. // Fixes bug #7150. var eventKey = elem.nodeType ? "events" "__events__", events = elemData[ eventKey ], eventHandle = elemData.handle; if ( typeof events === "function" ) { // On plain objects events is a fn that holds the the data // which prevents this data from being JSON serialized // the function does not need to be called, it just contains the data eventHandle = events.handle; events = events.events; } else if ( !events ) { if ( !elem.nodeType ) { // On plain objects, create a fn that acts as the holder // of the values to avoid JSON serialization of event data elemData[ eventKey ] = elemData = function(){}; } elemData.events = events = {}; } if ( !eventHandle ) { elemData.handle = eventHandle = function() { // Handle the second event of a trigger and when // an event is called after a page has unloaded return typeof jQuery !== "undefined" !jQuery.event.triggered ? jQuery.event.handle.apply( eventHandle.elem, arguments ) undefined; }; } // Add elem as a property of the handle function // This is to prevent a memory leak with non-native events in IE. eventHandle.elem = elem; // Handle multiple events separated by a space // jQuery(...).bind("mouseover mouseout", fn); types = types.split(" "); var type, i = 0, namespaces; while ( (type = types[ i++ ]) ) { handleObj = handleObjIn ? jQuery.extend({}, handleObjIn) { handler handler, data data }; // Namespaced event handlers if ( type.indexOf(".") -1 ) { namespaces = type.split("."); type = namespaces.shift(); handleObj.namespace = namespaces.slice(0).sort().join("."); } else { namespaces = []; handleObj.namespace = ""; } handleObj.type = type; if ( !handleObj.guid ) { handleObj.guid = handler.guid; } // Get the current list of functions bound to this event var handlers = events[ type ], special = jQuery.event.special[ type ] || {}; // Init the event handler queue if ( !handlers ) { handlers = events[ type ] = []; // Check for a special event handler // Only use addEventListener/attachEvent if the special // events handler returns false if ( !special.setup || special.setup.call( elem, data, namespaces, eventHandle ) === false ) { // Bind the global event handler to the element if ( elem.addEventListener ) { elem.addEventListener( type, eventHandle, false ); } else if ( elem.attachEvent ) { elem.attachEvent( "on" + type, eventHandle ); } } } if ( special.add ) { special.add.call( elem, handleObj ); if ( !handleObj.handler.guid ) { handleObj.handler.guid = handler.guid; } } // Add the function to the element s handler list handlers.push( handleObj ); // Keep track of which events have been used, for global triggering jQuery.event.global[ type ] = true; } // Nullify elem to prevent memory leaks in IE elem = null; }, global {}, // Detach an event or set of events from an element remove function( elem, types, handler, pos ) { // don t do events on text and comment nodes if ( elem.nodeType === 3 || elem.nodeType === 8 ) { return; } if ( handler === false ) { handler = returnFalse; } var ret, type, fn, j, i = 0, all, namespaces, namespace, special, eventType, handleObj, origType, eventKey = elem.nodeType ? "events" "__events__", elemData = jQuery.data( elem ), events = elemData elemData[ eventKey ]; if ( !elemData || !events ) { return; } if ( typeof events === "function" ) { elemData = events; events = events.events; } // types is actually an event object here if ( types types.type ) { handler = types.handler; types = types.type; } // Unbind all events for the element if ( !types || typeof types === "string" types.charAt(0) === "." ) { types = types || ""; for ( type in events ) { jQuery.event.remove( elem, type + types ); } return; } // Handle multiple events separated by a space // jQuery(...).unbind("mouseover mouseout", fn); types = types.split(" "); while ( (type = types[ i++ ]) ) { origType = type; handleObj = null; all = type.indexOf(".") 0; namespaces = []; if ( !all ) { // Namespaced event handlers namespaces = type.split("."); type = namespaces.shift(); namespace = new RegExp("(^|\\.)" + jQuery.map( namespaces.slice(0).sort(), fcleanup ).join("\\.(? .*\\.)?") + "(\\.|$)"); } eventType = events[ type ]; if ( !eventType ) { continue; } if ( !handler ) { for ( j = 0; j eventType.length; j++ ) { handleObj = eventType[ j ]; if ( all || namespace.test( handleObj.namespace ) ) { jQuery.event.remove( elem, origType, handleObj.handler, j ); eventType.splice( j--, 1 ); } } continue; } special = jQuery.event.special[ type ] || {}; for ( j = pos || 0; j eventType.length; j++ ) { handleObj = eventType[ j ]; if ( handler.guid === handleObj.guid ) { // remove the given handler for the given type if ( all || namespace.test( handleObj.namespace ) ) { if ( pos == null ) { eventType.splice( j--, 1 ); } if ( special.remove ) { special.remove.call( elem, handleObj ); } } if ( pos != null ) { break; } } } // remove generic event handler if no more handlers exist if ( eventType.length === 0 || pos != null eventType.length === 1 ) { if ( !special.teardown || special.teardown.call( elem, namespaces ) === false ) { jQuery.removeEvent( elem, type, elemData.handle ); } ret = null; delete events[ type ]; } } // Remove the expando if it s no longer used if ( jQuery.isEmptyObject( events ) ) { var handle = elemData.handle; if ( handle ) { handle.elem = null; } delete elemData.events; delete elemData.handle; if ( typeof elemData === "function" ) { jQuery.removeData( elem, eventKey ); } else if ( jQuery.isEmptyObject( elemData ) ) { jQuery.removeData( elem ); } } }, // bubbling is internal trigger function( event, data, elem /*, bubbling */ ) { // Event object or event type var type = event.type || event, bubbling = arguments[3]; if ( !bubbling ) { event = typeof event === "object" ? // jQuery.Event object event[ jQuery.expando ] ? event // Object literal jQuery.extend( jQuery.Event(type), event ) // Just the event type (string) jQuery.Event(type); if ( type.indexOf("!") = 0 ) { event.type = type = type.slice(0, -1); event.exclusive = true; } // Handle a global trigger if ( !elem ) { // Don t bubble custom events when global (to avoid too much overhead) event.stopPropagation(); // Only trigger if we ve ever bound an event for it if ( jQuery.event.global[ type ] ) { jQuery.each( jQuery.cache, function() { if ( this.events this.events[type] ) { jQuery.event.trigger( event, data, this.handle.elem ); } }); } } // Handle triggering a single element // don t do events on text and comment nodes if ( !elem || elem.nodeType === 3 || elem.nodeType === 8 ) { return undefined; } // Clean up in case it is reused event.result = undefined; event.target = elem; // Clone the incoming data, if any data = jQuery.makeArray( data ); data.unshift( event ); } event.currentTarget = elem; // Trigger the event, it is assumed that "handle" is a function var handle = elem.nodeType ? jQuery.data( elem, "handle" ) (jQuery.data( elem, "__events__" ) || {}).handle; if ( handle ) { handle.apply( elem, data ); } var parent = elem.parentNode || elem.ownerDocument; // Trigger an inline bound script try { if ( !(elem elem.nodeName jQuery.noData[elem.nodeName.toLowerCase()]) ) { if ( elem[ "on" + type ] elem[ "on" + type ].apply( elem, data ) === false ) { event.result = false; event.preventDefault(); } } // prevent IE from throwing an error for some elements with some event types, see #3533 } catch (inlineError) {} if ( !event.isPropagationStopped() parent ) { jQuery.event.trigger( event, data, parent, true ); } else if ( !event.isDefaultPrevented() ) { var target = event.target, old, targetType = type.replace(rnamespaces, ""), isClick = jQuery.nodeName(target, "a") targetType === "click", special = jQuery.event.special[ targetType ] || {}; if ( (!special._default || special._default.call( elem, event ) === false) !isClick !(target target.nodeName jQuery.noData[target.nodeName.toLowerCase()]) ) { try { if ( target[ targetType ] ) { // Make sure that we don t accidentally re-trigger the onFOO events old = target[ "on" + targetType ]; if ( old ) { target[ "on" + targetType ] = null; } jQuery.event.triggered = true; target[ targetType ](); } // prevent IE from throwing an error for some elements with some event types, see #3533 } catch (triggerError) {} if ( old ) { target[ "on" + targetType ] = old; } jQuery.event.triggered = false; } } }, handle function( event ) { var all, handlers, namespaces, namespace_sort = [], namespace_re, events, args = jQuery.makeArray( arguments ); event = args[0] = jQuery.event.fix( event || window.event ); event.currentTarget = this; // Namespaced event handlers all = event.type.indexOf(".") 0 !event.exclusive; if ( !all ) { namespaces = event.type.split("."); event.type = namespaces.shift(); namespace_sort = namespaces.slice(0).sort(); namespace_re = new RegExp("(^|\\.)" + namespace_sort.join("\\.(? .*\\.)?") + "(\\.|$)"); } event.namespace = event.namespace || namespace_sort.join("."); events = jQuery.data(this, this.nodeType ? "events" "__events__"); if ( typeof events === "function" ) { events = events.events; } handlers = (events || {})[ event.type ]; if ( events handlers ) { // Clone the handlers to prevent manipulation handlers = handlers.slice(0); for ( var j = 0, l = handlers.length; j l; j++ ) { var handleObj = handlers[ j ]; // Filter the functions by class if ( all || namespace_re.test( handleObj.namespace ) ) { // Pass in a reference to the handler function itself // So that we can later remove it event.handler = handleObj.handler; event.data = handleObj.data; event.handleObj = handleObj; var ret = handleObj.handler.apply( this, args ); if ( ret !== undefined ) { event.result = ret; if ( ret === false ) { event.preventDefault(); event.stopPropagation(); } } if ( event.isImmediatePropagationStopped() ) { break; } } } } return event.result; }, props "altKey attrChange attrName bubbles button cancelable charCode clientX clientY ctrlKey currentTarget data detail eventPhase fromElement handler keyCode layerX layerY metaKey newValue offsetX offsetY pageX pageY prevValue relatedNode relatedTarget screenX screenY shiftKey srcElement target toElement view wheelDelta which".split(" "), fix function( event ) { if ( event[ jQuery.expando ] ) { return event; } // store a copy of the original event object // and "clone" to set read-only properties var originalEvent = event; event = jQuery.Event( originalEvent ); for ( var i = this.props.length, prop; i; ) { prop = this.props[ --i ]; event[ prop ] = originalEvent[ prop ]; } // Fix target property, if necessary if ( !event.target ) { event.target = event.srcElement || document; // Fixes #1925 where srcElement might not be defined either } // check if target is a textnode (safari) if ( event.target.nodeType === 3 ) { event.target = event.target.parentNode; } // Add relatedTarget, if necessary if ( !event.relatedTarget event.fromElement ) { event.relatedTarget = event.fromElement === event.target ? event.toElement event.fromElement; } // Calculate pageX/Y if missing and clientX/Y available if ( event.pageX == null event.clientX != null ) { var doc = document.documentElement, body = document.body; event.pageX = event.clientX + (doc doc.scrollLeft || body body.scrollLeft || 0) - (doc doc.clientLeft || body body.clientLeft || 0); event.pageY = event.clientY + (doc doc.scrollTop || body body.scrollTop || 0) - (doc doc.clientTop || body body.clientTop || 0); } // Add which for key events if ( event.which == null (event.charCode != null || event.keyCode != null) ) { event.which = event.charCode != null ? event.charCode event.keyCode; } // Add metaKey to non-Mac browsers (use ctrl for PC s and Meta for Macs) if ( !event.metaKey event.ctrlKey ) { event.metaKey = event.ctrlKey; } // Add which for click 1 === left; 2 === middle; 3 === right // Note button is not normalized, so don t use it if ( !event.which event.button !== undefined ) { event.which = (event.button 1 ? 1 ( event.button 2 ? 3 ( event.button 4 ? 2 0 ) )); } return event; }, // Deprecated, use jQuery.guid instead guid 1E8, // Deprecated, use jQuery.proxy instead proxy jQuery.proxy, special { ready { // Make sure the ready event is setup setup jQuery.bindReady, teardown jQuery.noop }, live { add function( handleObj ) { jQuery.event.add( this, liveConvert( handleObj.origType, handleObj.selector ), jQuery.extend({}, handleObj, {handler liveHandler, guid handleObj.handler.guid}) ); }, remove function( handleObj ) { jQuery.event.remove( this, liveConvert( handleObj.origType, handleObj.selector ), handleObj ); } }, beforeunload { setup function( data, namespaces, eventHandle ) { // We only want to do this special case on windows if ( jQuery.isWindow( this ) ) { this.onbeforeunload = eventHandle; } }, teardown function( namespaces, eventHandle ) { if ( this.onbeforeunload === eventHandle ) { this.onbeforeunload = null; } } } } }; jQuery.removeEvent = document.removeEventListener ? function( elem, type, handle ) { if ( elem.removeEventListener ) { elem.removeEventListener( type, handle, false ); } } function( elem, type, handle ) { if ( elem.detachEvent ) { elem.detachEvent( "on" + type, handle ); } }; jQuery.Event = function( src ) { // Allow instantiation without the new keyword if ( !this.preventDefault ) { return new jQuery.Event( src ); } // Event object if ( src src.type ) { this.originalEvent = src; this.type = src.type; // Event type } else { this.type = src; } // timeStamp is buggy for some events on Firefox(#3843) // So we won t rely on the native value this.timeStamp = jQuery.now(); // Mark it as fixed this[ jQuery.expando ] = true; }; function returnFalse() { return false; } function returnTrue() { return true; } // jQuery.Event is based on DOM3 Events as specified by the ECMAScript Language Binding // http //www.w3.org/TR/2003/WD-DOM-Level-3-Events-20030331/ecma-script-binding.html jQuery.Event.prototype = { preventDefault function() { this.isDefaultPrevented = returnTrue; var e = this.originalEvent; if ( !e ) { return; } // if preventDefault exists run it on the original event if ( e.preventDefault ) { e.preventDefault(); // otherwise set the returnValue property of the original event to false (IE) } else { e.returnValue = false; } }, stopPropagation function() { this.isPropagationStopped = returnTrue; var e = this.originalEvent; if ( !e ) { return; } // if stopPropagation exists run it on the original event if ( e.stopPropagation ) { e.stopPropagation(); } // otherwise set the cancelBubble property of the original event to true (IE) e.cancelBubble = true; }, stopImmediatePropagation function() { this.isImmediatePropagationStopped = returnTrue; this.stopPropagation(); }, isDefaultPrevented returnFalse, isPropagationStopped returnFalse, isImmediatePropagationStopped returnFalse }; // Checks if an event happened on an element within another element // Used in jQuery.event.special.mouseenter and mouseleave handlers var withinElement = function( event ) { // Check if mouse(over|out) are still within the same parent element var parent = event.relatedTarget; // Firefox sometimes assigns relatedTarget a XUL element // which we cannot access the parentNode property of try { // Traverse up the tree while ( parent parent !== this ) { parent = parent.parentNode; } if ( parent !== this ) { // set the correct event type event.type = event.data; // handle event if we actually just moused on to a non sub-element jQuery.event.handle.apply( this, arguments ); } // assuming we ve left the element since we most likely mousedover a xul element } catch(e) { } }, // In case of event delegation, we only need to rename the event.type, // liveHandler will take care of the rest. delegate = function( event ) { event.type = event.data; jQuery.event.handle.apply( this, arguments ); }; // Create mouseenter and mouseleave events jQuery.each({ mouseenter "mouseover", mouseleave "mouseout" }, function( orig, fix ) { jQuery.event.special[ orig ] = { setup function( data ) { jQuery.event.add( this, fix, data data.selector ? delegate withinElement, orig ); }, teardown function( data ) { jQuery.event.remove( this, fix, data data.selector ? delegate withinElement ); } }; }); // submit delegation if ( !jQuery.support.submitBubbles ) { jQuery.event.special.submit = { setup function( data, namespaces ) { if ( this.nodeName.toLowerCase() !== "form" ) { jQuery.event.add(this, "click.specialSubmit", function( e ) { var elem = e.target, type = elem.type; if ( (type === "submit" || type === "image") jQuery( elem ).closest("form").length ) { e.liveFired = undefined; return trigger( "submit", this, arguments ); } }); jQuery.event.add(this, "keypress.specialSubmit", function( e ) { var elem = e.target, type = elem.type; if ( (type === "text" || type === "password") jQuery( elem ).closest("form").length e.keyCode === 13 ) { e.liveFired = undefined; return trigger( "submit", this, arguments ); } }); } else { return false; } }, teardown function( namespaces ) { jQuery.event.remove( this, ".specialSubmit" ); } }; } // change delegation, happens here so we have bind. if ( !jQuery.support.changeBubbles ) { var changeFilters, getVal = function( elem ) { var type = elem.type, val = elem.value; if ( type === "radio" || type === "checkbox" ) { val = elem.checked; } else if ( type === "select-multiple" ) { val = elem.selectedIndex -1 ? jQuery.map( elem.options, function( elem ) { return elem.selected; }).join("-") ""; } else if ( elem.nodeName.toLowerCase() === "select" ) { val = elem.selectedIndex; } return val; }, testChange = function testChange( e ) { var elem = e.target, data, val; if ( !rformElems.test( elem.nodeName ) || elem.readOnly ) { return; } data = jQuery.data( elem, "_change_data" ); val = getVal(elem); // the current data will be also retrieved by beforeactivate if ( e.type !== "focusout" || elem.type !== "radio" ) { jQuery.data( elem, "_change_data", val ); } if ( data === undefined || val === data ) { return; } if ( data != null || val ) { e.type = "change"; e.liveFired = undefined; return jQuery.event.trigger( e, arguments[1], elem ); } }; jQuery.event.special.change = { filters { focusout testChange, beforedeactivate testChange, click function( e ) { var elem = e.target, type = elem.type; if ( type === "radio" || type === "checkbox" || elem.nodeName.toLowerCase() === "select" ) { return testChange.call( this, e ); } }, // Change has to be called before submit // Keydown will be called before keypress, which is used in submit-event delegation keydown function( e ) { var elem = e.target, type = elem.type; if ( (e.keyCode === 13 elem.nodeName.toLowerCase() !== "textarea") || (e.keyCode === 32 (type === "checkbox" || type === "radio")) || type === "select-multiple" ) { return testChange.call( this, e ); } }, // Beforeactivate happens also before the previous element is blurred // with this event you can t trigger a change event, but you can store // information beforeactivate function( e ) { var elem = e.target; jQuery.data( elem, "_change_data", getVal(elem) ); } }, setup function( data, namespaces ) { if ( this.type === "file" ) { return false; } for ( var type in changeFilters ) { jQuery.event.add( this, type + ".specialChange", changeFilters[type] ); } return rformElems.test( this.nodeName ); }, teardown function( namespaces ) { jQuery.event.remove( this, ".specialChange" ); return rformElems.test( this.nodeName ); } }; changeFilters = jQuery.event.special.change.filters; // Handle when the input is .focus() d changeFilters.focus = changeFilters.beforeactivate; } function trigger( type, elem, args ) { args[0].type = type; return jQuery.event.handle.apply( elem, args ); } // Create "bubbling" focus and blur events if ( document.addEventListener ) { jQuery.each({ focus "focusin", blur "focusout" }, function( orig, fix ) { jQuery.event.special[ fix ] = { setup function() { if ( focusCounts[fix]++ === 0 ) { document.addEventListener( orig, handler, true ); } }, teardown function() { if ( --focusCounts[fix] === 0 ) { document.removeEventListener( orig, handler, true ); } } }; function handler( e ) { e = jQuery.event.fix( e ); e.type = fix; return jQuery.event.trigger( e, null, e.target ); } }); } jQuery.each(["bind", "one"], function( i, name ) { jQuery.fn[ name ] = function( type, data, fn ) { // Handle object literals if ( typeof type === "object" ) { for ( var key in type ) { this[ name ](key, data, type[key], fn); } return this; } if ( jQuery.isFunction( data ) || data === false ) { fn = data; data = undefined; } var handler = name === "one" ? jQuery.proxy( fn, function( event ) { jQuery( this ).unbind( event, handler ); return fn.apply( this, arguments ); }) fn; if ( type === "unload" name !== "one" ) { this.one( type, data, fn ); } else { for ( var i = 0, l = this.length; i l; i++ ) { jQuery.event.add( this[i], type, handler, data ); } } return this; }; }); jQuery.fn.extend({ unbind function( type, fn ) { // Handle object literals if ( typeof type === "object" !type.preventDefault ) { for ( var key in type ) { this.unbind(key, type[key]); } } else { for ( var i = 0, l = this.length; i l; i++ ) { jQuery.event.remove( this[i], type, fn ); } } return this; }, delegate function( selector, types, data, fn ) { return this.live( types, data, fn, selector ); }, undelegate function( selector, types, fn ) { if ( arguments.length === 0 ) { return this.unbind( "live" ); } else { return this.die( types, null, fn, selector ); } }, trigger function( type, data ) { return this.each(function() { jQuery.event.trigger( type, data, this ); }); }, triggerHandler function( type, data ) { if ( this[0] ) { var event = jQuery.Event( type ); event.preventDefault(); event.stopPropagation(); jQuery.event.trigger( event, data, this[0] ); return event.result; } }, toggle function( fn ) { // Save reference to arguments for access in closure var args = arguments, i = 1; // link all the functions, so any of them can unbind this click handler while ( i args.length ) { jQuery.proxy( fn, args[ i++ ] ); } return this.click( jQuery.proxy( fn, function( event ) { // Figure out which function to execute var lastToggle = ( jQuery.data( this, "lastToggle" + fn.guid ) || 0 ) % i; jQuery.data( this, "lastToggle" + fn.guid, lastToggle + 1 ); // Make sure that clicks stop event.preventDefault(); // and execute the function return args[ lastToggle ].apply( this, arguments ) || false; })); }, hover function( fnOver, fnOut ) { return this.mouseenter( fnOver ).mouseleave( fnOut || fnOver ); } }); var liveMap = { focus "focusin", blur "focusout", mouseenter "mouseover", mouseleave "mouseout" }; jQuery.each(["live", "die"], function( i, name ) { jQuery.fn[ name ] = function( types, data, fn, origSelector /* Internal Use Only */ ) { var type, i = 0, match, namespaces, preType, selector = origSelector || this.selector, context = origSelector ? this jQuery( this.context ); if ( typeof types === "object" !types.preventDefault ) { for ( var key in types ) { context[ name ]( key, data, types[key], selector ); } return this; } if ( jQuery.isFunction( data ) ) { fn = data; data = undefined; } types = (types || "").split(" "); while ( (type = types[ i++ ]) != null ) { match = rnamespaces.exec( type ); namespaces = ""; if ( match ) { namespaces = match[0]; type = type.replace( rnamespaces, "" ); } if ( type === "hover" ) { types.push( "mouseenter" + namespaces, "mouseleave" + namespaces ); continue; } preType = type; if ( type === "focus" || type === "blur" ) { types.push( liveMap[ type ] + namespaces ); type = type + namespaces; } else { type = (liveMap[ type ] || type) + namespaces; } if ( name === "live" ) { // bind live handler for ( var j = 0, l = context.length; j l; j++ ) { jQuery.event.add( context[j], "live." + liveConvert( type, selector ), { data data, selector selector, handler fn, origType type, origHandler fn, preType preType } ); } } else { // unbind live handler context.unbind( "live." + liveConvert( type, selector ), fn ); } } return this; }; }); function liveHandler( event ) { var stop, maxLevel, elems = [], selectors = [], related, match, handleObj, elem, j, i, l, data, close, namespace, ret, events = jQuery.data( this, this.nodeType ? "events" "__events__" ); if ( typeof events === "function" ) { events = events.events; } // Make sure we avoid non-left-click bubbling in Firefox (#3861) if ( event.liveFired === this || !events || !events.live || event.button event.type === "click" ) { return; } if ( event.namespace ) { namespace = new RegExp("(^|\\.)" + event.namespace.split(".").join("\\.(? .*\\.)?") + "(\\.|$)"); } event.liveFired = this; var live = events.live.slice(0); for ( j = 0; j live.length; j++ ) { handleObj = live[j]; if ( handleObj.origType.replace( rnamespaces, "" ) === event.type ) { selectors.push( handleObj.selector ); } else { live.splice( j--, 1 ); } } match = jQuery( event.target ).closest( selectors, event.currentTarget ); for ( i = 0, l = match.length; i l; i++ ) { close = match[i]; for ( j = 0; j live.length; j++ ) { handleObj = live[j]; if ( close.selector === handleObj.selector (!namespace || namespace.test( handleObj.namespace )) ) { elem = close.elem; related = null; // Those two events require additional checking if ( handleObj.preType === "mouseenter" || handleObj.preType === "mouseleave" ) { event.type = handleObj.preType; related = jQuery( event.relatedTarget ).closest( handleObj.selector )[0]; } if ( !related || related !== elem ) { elems.push({ elem elem, handleObj handleObj, level close.level }); } } } } for ( i = 0, l = elems.length; i l; i++ ) { match = elems[i]; if ( maxLevel match.level maxLevel ) { break; } event.currentTarget = match.elem; event.data = match.handleObj.data; event.handleObj = match.handleObj; ret = match.handleObj.origHandler.apply( match.elem, arguments ); if ( ret === false || event.isPropagationStopped() ) { maxLevel = match.level; if ( ret === false ) { stop = false; } } } return stop; } function liveConvert( type, selector ) { return (type type !== "*" ? type + "." "") + selector.replace(rperiod, "`").replace(rspace, " "); } jQuery.each( ("blur focus focusin focusout load resize scroll unload click dblclick " + "mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave " + "change select submit keydown keypress keyup error").split(" "), function( i, name ) { // Handle event binding jQuery.fn[ name ] = function( data, fn ) { if ( fn == null ) { fn = data; data = null; } return arguments.length 0 ? this.bind( name, data, fn ) this.trigger( name ); }; if ( jQuery.attrFn ) { jQuery.attrFn[ name ] = true; } }); // Prevent memory leaks in IE // Window isn t included so as not to unbind existing unload events // More info // - http //isaacschlueter.com/2006/10/msie-memory-leaks/ if ( window.attachEvent !window.addEventListener ) { jQuery(window).bind("unload", function() { for ( var id in jQuery.cache ) { if ( jQuery.cache[ id ].handle ) { // Try/Catch is to handle iframes being unloaded, see #4280 try { jQuery.event.remove( jQuery.cache[ id ].handle.elem ); } catch(e) {} } } }); } /*! * Sizzle CSS Selector Engine - v1.0 * Copyright 2009, The Dojo Foundation * Released under the MIT, BSD, and GPL Licenses. * More information http //sizzlejs.com/ */ (function(){ var chunker = /((? \((? \([^()]+\)|[^()]+)+\)|\[(? \[[^\[\]]*\]|[ "][^ "]*[ "]|[^\[\] "]+)+\]|\\.|[^ +~,(\[\\]+)+|[ +~])(\s*,\s*)?((? .|\r|\n)*)/g, done = 0, toString = Object.prototype.toString, hasDuplicate = false, baseHasDuplicate = true; // Here we check if the JavaScript engine is using some sort of // optimization where it does not always call our comparision // function. If that is the case, discard the hasDuplicate value. // Thus far that includes Google Chrome. [0, 0].sort(function(){ baseHasDuplicate = false; return 0; }); var Sizzle = function(selector, context, results, seed) { results = results || []; context = context || document; var origContext = context; if ( context.nodeType !== 1 context.nodeType !== 9 ) { return []; } if ( !selector || typeof selector !== "string" ) { return results; } var parts = [], m, set, checkSet, extra, prune = true, contextXML = Sizzle.isXML(context), soFar = selector, ret, cur, pop, i; // Reset the position of the chunker regexp (start from head) do { chunker.exec(""); m = chunker.exec(soFar); if ( m ) { soFar = m[3]; parts.push( m[1] ); if ( m[2] ) { extra = m[3]; break; } } } while ( m ); if ( parts.length 1 origPOS.exec( selector ) ) { if ( parts.length === 2 Expr.relative[ parts[0] ] ) { set = posProcess( parts[0] + parts[1], context ); } else { set = Expr.relative[ parts[0] ] ? [ context ] Sizzle( parts.shift(), context ); while ( parts.length ) { selector = parts.shift(); if ( Expr.relative[ selector ] ) { selector += parts.shift(); } set = posProcess( selector, set ); } } } else { // Take a shortcut and set the context if the root selector is an ID // (but not if it ll be faster if the inner selector is an ID) if ( !seed parts.length 1 context.nodeType === 9 !contextXML Expr.match.ID.test(parts[0]) !Expr.match.ID.test(parts[parts.length - 1]) ) { ret = Sizzle.find( parts.shift(), context, contextXML ); context = ret.expr ? Sizzle.filter( ret.expr, ret.set )[0] ret.set[0]; } if ( context ) { ret = seed ? { expr parts.pop(), set makeArray(seed) } Sizzle.find( parts.pop(), parts.length === 1 (parts[0] === "~" || parts[0] === "+") context.parentNode ? context.parentNode context, contextXML ); set = ret.expr ? Sizzle.filter( ret.expr, ret.set ) ret.set; if ( parts.length 0 ) { checkSet = makeArray(set); } else { prune = false; } while ( parts.length ) { cur = parts.pop(); pop = cur; if ( !Expr.relative[ cur ] ) { cur = ""; } else { pop = parts.pop(); } if ( pop == null ) { pop = context; } Expr.relative[ cur ]( checkSet, pop, contextXML ); } } else { checkSet = parts = []; } } if ( !checkSet ) { checkSet = set; } if ( !checkSet ) { Sizzle.error( cur || selector ); } if ( toString.call(checkSet) === "[object Array]" ) { if ( !prune ) { results.push.apply( results, checkSet ); } else if ( context context.nodeType === 1 ) { for ( i = 0; checkSet[i] != null; i++ ) { if ( checkSet[i] (checkSet[i] === true || checkSet[i].nodeType === 1 Sizzle.contains(context, checkSet[i])) ) { results.push( set[i] ); } } } else { for ( i = 0; checkSet[i] != null; i++ ) { if ( checkSet[i] checkSet[i].nodeType === 1 ) { results.push( set[i] ); } } } } else { makeArray( checkSet, results ); } if ( extra ) { Sizzle( extra, origContext, results, seed ); Sizzle.uniqueSort( results ); } return results; }; Sizzle.uniqueSort = function(results){ if ( sortOrder ) { hasDuplicate = baseHasDuplicate; results.sort(sortOrder); if ( hasDuplicate ) { for ( var i = 1; i results.length; i++ ) { if ( results[i] === results[i-1] ) { results.splice(i--, 1); } } } } return results; }; Sizzle.matches = function(expr, set){ return Sizzle(expr, null, null, set); }; Sizzle.matchesSelector = function(node, expr){ return Sizzle(expr, null, null, [node]).length 0; }; Sizzle.find = function(expr, context, isXML){ var set; if ( !expr ) { return []; } for ( var i = 0, l = Expr.order.length; i l; i++ ) { var type = Expr.order[i], match; if ( (match = Expr.leftMatch[ type ].exec( expr )) ) { var left = match[1]; match.splice(1,1); if ( left.substr( left.length - 1 ) !== "\\" ) { match[1] = (match[1] || "").replace(/\\/g, ""); set = Expr.find[ type ]( match, context, isXML ); if ( set != null ) { expr = expr.replace( Expr.match[ type ], "" ); break; } } } } if ( !set ) { set = context.getElementsByTagName("*"); } return {set set, expr expr}; }; Sizzle.filter = function(expr, set, inplace, not){ var old = expr, result = [], curLoop = set, match, anyFound, isXMLFilter = set set[0] Sizzle.isXML(set[0]); while ( expr set.length ) { for ( var type in Expr.filter ) { if ( (match = Expr.leftMatch[ type ].exec( expr )) != null match[2] ) { var filter = Expr.filter[ type ], found, item, left = match[1]; anyFound = false; match.splice(1,1); if ( left.substr( left.length - 1 ) === "\\" ) { continue; } if ( curLoop === result ) { result = []; } if ( Expr.preFilter[ type ] ) { match = Expr.preFilter[ type ]( match, curLoop, inplace, result, not, isXMLFilter ); if ( !match ) { anyFound = found = true; } else if ( match === true ) { continue; } } if ( match ) { for ( var i = 0; (item = curLoop[i]) != null; i++ ) { if ( item ) { found = filter( item, match, i, curLoop ); var pass = not ^ !!found; if ( inplace found != null ) { if ( pass ) { anyFound = true; } else { curLoop[i] = false; } } else if ( pass ) { result.push( item ); anyFound = true; } } } } if ( found !== undefined ) { if ( !inplace ) { curLoop = result; } expr = expr.replace( Expr.match[ type ], "" ); if ( !anyFound ) { return []; } break; } } } // Improper expression if ( expr === old ) { if ( anyFound == null ) { Sizzle.error( expr ); } else { break; } } old = expr; } return curLoop; }; Sizzle.error = function( msg ) { throw "Syntax error, unrecognized expression " + msg; }; var Expr = Sizzle.selectors = { order [ "ID", "NAME", "TAG" ], match { ID /#((? [\w\u00c0-\uFFFF\-]|\\.)+)/, CLASS /\.((? [\w\u00c0-\uFFFF\-]|\\.)+)/, NAME /\[name=[ "]*((? [\w\u00c0-\uFFFF\-]|\\.)+)[ "]*\]/, ATTR /\[\s*((? [\w\u00c0-\uFFFF\-]|\\.)+)\s*(? (\S?=)\s*([ "]*)(.*?)\3|)\s*\]/, TAG /^((? [\w\u00c0-\uFFFF\*\-]|\\.)+)/, CHILD / (only|nth|last|first)-child(? \((even|odd|[\dn+\-]*)\))?/, POS / (nth|eq|gt|lt|first|last|even|odd)(? \((\d*)\))?(?=[^\-]|$)/, PSEUDO / ((? [\w\u00c0-\uFFFF\-]|\\.)+)(? \(([ "]?)((? \([^\)]+\)|[^\(\)]*)+)\2\))?/ }, leftMatch {}, attrMap { "class" "className", "for" "htmlFor" }, attrHandle { href function(elem){ return elem.getAttribute("href"); } }, relative { "+" function(checkSet, part){ var isPartStr = typeof part === "string", isTag = isPartStr !/\W/.test(part), isPartStrNotTag = isPartStr !isTag; if ( isTag ) { part = part.toLowerCase(); } for ( var i = 0, l = checkSet.length, elem; i l; i++ ) { if ( (elem = checkSet[i]) ) { while ( (elem = elem.previousSibling) elem.nodeType !== 1 ) {} checkSet[i] = isPartStrNotTag || elem elem.nodeName.toLowerCase() === part ? elem || false elem === part; } } if ( isPartStrNotTag ) { Sizzle.filter( part, checkSet, true ); } }, " " function(checkSet, part){ var isPartStr = typeof part === "string", elem, i = 0, l = checkSet.length; if ( isPartStr !/\W/.test(part) ) { part = part.toLowerCase(); for ( ; i l; i++ ) { elem = checkSet[i]; if ( elem ) { var parent = elem.parentNode; checkSet[i] = parent.nodeName.toLowerCase() === part ? parent false; } } } else { for ( ; i l; i++ ) { elem = checkSet[i]; if ( elem ) { checkSet[i] = isPartStr ? elem.parentNode elem.parentNode === part; } } if ( isPartStr ) { Sizzle.filter( part, checkSet, true ); } } }, "" function(checkSet, part, isXML){ var doneName = done++, checkFn = dirCheck, nodeCheck; if ( typeof part === "string" !/\W/.test(part) ) { part = part.toLowerCase(); nodeCheck = part; checkFn = dirNodeCheck; } checkFn("parentNode", part, doneName, checkSet, nodeCheck, isXML); }, "~" function(checkSet, part, isXML){ var doneName = done++, checkFn = dirCheck, nodeCheck; if ( typeof part === "string" !/\W/.test(part) ) { part = part.toLowerCase(); nodeCheck = part; checkFn = dirNodeCheck; } checkFn("previousSibling", part, doneName, checkSet, nodeCheck, isXML); } }, find { ID function(match, context, isXML){ if ( typeof context.getElementById !== "undefined" !isXML ) { var m = context.getElementById(match[1]); // Check parentNode to catch when Blackberry 4.6 returns // nodes that are no longer in the document #6963 return m m.parentNode ? [m] []; } }, NAME function(match, context){ if ( typeof context.getElementsByName !== "undefined" ) { var ret = [], results = context.getElementsByName(match[1]); for ( var i = 0, l = results.length; i l; i++ ) { if ( results[i].getAttribute("name") === match[1] ) { ret.push( results[i] ); } } return ret.length === 0 ? null ret; } }, TAG function(match, context){ return context.getElementsByTagName(match[1]); } }, preFilter { CLASS function(match, curLoop, inplace, result, not, isXML){ match = " " + match[1].replace(/\\/g, "") + " "; if ( isXML ) { return match; } for ( var i = 0, elem; (elem = curLoop[i]) != null; i++ ) { if ( elem ) { if ( not ^ (elem.className (" " + elem.className + " ").replace(/[\t\n]/g, " ").indexOf(match) = 0) ) { if ( !inplace ) { result.push( elem ); } } else if ( inplace ) { curLoop[i] = false; } } } return false; }, ID function(match){ return match[1].replace(/\\/g, ""); }, TAG function(match, curLoop){ return match[1].toLowerCase(); }, CHILD function(match){ if ( match[1] === "nth" ) { // parse equations like even , odd , 5 , 2n , 3n+2 , 4n-1 , -n+6 var test = /(-?)(\d*)n((? \+|-)?\d*)/.exec( match[2] === "even" "2n" || match[2] === "odd" "2n+1" || !/\D/.test( match[2] ) "0n+" + match[2] || match[2]); // calculate the numbers (first)n+(last) including if they are negative match[2] = (test[1] + (test[2] || 1)) - 0; match[3] = test[3] - 0; } // TODO Move to normal caching system match[0] = done++; return match; }, ATTR function(match, curLoop, inplace, result, not, isXML){ var name = match[1].replace(/\\/g, ""); if ( !isXML Expr.attrMap[name] ) { match[1] = Expr.attrMap[name]; } if ( match[2] === "~=" ) { match[4] = " " + match[4] + " "; } return match; }, PSEUDO function(match, curLoop, inplace, result, not){ if ( match[1] === "not" ) { // If we re dealing with a complex expression, or a simple one if ( ( chunker.exec(match[3]) || "" ).length 1 || /^\w/.test(match[3]) ) { match[3] = Sizzle(match[3], null, null, curLoop); } else { var ret = Sizzle.filter(match[3], curLoop, inplace, true ^ not); if ( !inplace ) { result.push.apply( result, ret ); } return false; } } else if ( Expr.match.POS.test( match[0] ) || Expr.match.CHILD.test( match[0] ) ) { return true; } return match; }, POS function(match){ match.unshift( true ); return match; } }, filters { enabled function(elem){ return elem.disabled === false elem.type !== "hidden"; }, disabled function(elem){ return elem.disabled === true; }, checked function(elem){ return elem.checked === true; }, selected function(elem){ // Accessing this property makes selected-by-default // options in Safari work properly elem.parentNode.selectedIndex; return elem.selected === true; }, parent function(elem){ return !!elem.firstChild; }, empty function(elem){ return !elem.firstChild; }, has function(elem, i, match){ return !!Sizzle( match[3], elem ).length; }, header function(elem){ return (/h\d/i).test( elem.nodeName ); }, text function(elem){ return "text" === elem.type; }, radio function(elem){ return "radio" === elem.type; }, checkbox function(elem){ return "checkbox" === elem.type; }, file function(elem){ return "file" === elem.type; }, password function(elem){ return "password" === elem.type; }, submit function(elem){ return "submit" === elem.type; }, image function(elem){ return "image" === elem.type; }, reset function(elem){ return "reset" === elem.type; }, button function(elem){ return "button" === elem.type || elem.nodeName.toLowerCase() === "button"; }, input function(elem){ return (/input|select|textarea|button/i).test(elem.nodeName); } }, setFilters { first function(elem, i){ return i === 0; }, last function(elem, i, match, array){ return i === array.length - 1; }, even function(elem, i){ return i % 2 === 0; }, odd function(elem, i){ return i % 2 === 1; }, lt function(elem, i, match){ return i match[3] - 0; }, gt function(elem, i, match){ return i match[3] - 0; }, nth function(elem, i, match){ return match[3] - 0 === i; }, eq function(elem, i, match){ return match[3] - 0 === i; } }, filter { PSEUDO function(elem, match, i, array){ var name = match[1], filter = Expr.filters[ name ]; if ( filter ) { return filter( elem, i, match, array ); } else if ( name === "contains" ) { return (elem.textContent || elem.innerText || Sizzle.getText([ elem ]) || "").indexOf(match[3]) = 0; } else if ( name === "not" ) { var not = match[3]; for ( var j = 0, l = not.length; j l; j++ ) { if ( not[j] === elem ) { return false; } } return true; } else { Sizzle.error( "Syntax error, unrecognized expression " + name ); } }, CHILD function(elem, match){ var type = match[1], node = elem; switch (type) { case only case first while ( (node = node.previousSibling) ) { if ( node.nodeType === 1 ) { return false; } } if ( type === "first" ) { return true; } node = elem; case last while ( (node = node.nextSibling) ) { if ( node.nodeType === 1 ) { return false; } } return true; case nth var first = match[2], last = match[3]; if ( first === 1 last === 0 ) { return true; } var doneName = match[0], parent = elem.parentNode; if ( parent (parent.sizcache !== doneName || !elem.nodeIndex) ) { var count = 0; for ( node = parent.firstChild; node; node = node.nextSibling ) { if ( node.nodeType === 1 ) { node.nodeIndex = ++count; } } parent.sizcache = doneName; } var diff = elem.nodeIndex - last; if ( first === 0 ) { return diff === 0; } else { return ( diff % first === 0 diff / first = 0 ); } } }, ID function(elem, match){ return elem.nodeType === 1 elem.getAttribute("id") === match; }, TAG function(elem, match){ return (match === "*" elem.nodeType === 1) || elem.nodeName.toLowerCase() === match; }, CLASS function(elem, match){ return (" " + (elem.className || elem.getAttribute("class")) + " ") .indexOf( match ) -1; }, ATTR function(elem, match){ var name = match[1], result = Expr.attrHandle[ name ] ? Expr.attrHandle[ name ]( elem ) elem[ name ] != null ? elem[ name ] elem.getAttribute( name ), value = result + "", type = match[2], check = match[4]; return result == null ? type === "!=" type === "=" ? value === check type === "*=" ? value.indexOf(check) = 0 type === "~=" ? (" " + value + " ").indexOf(check) = 0 !check ? value result !== false type === "!=" ? value !== check type === "^=" ? value.indexOf(check) === 0 type === "$=" ? value.substr(value.length - check.length) === check type === "|=" ? value === check || value.substr(0, check.length + 1) === check + "-" false; }, POS function(elem, match, i, array){ var name = match[2], filter = Expr.setFilters[ name ]; if ( filter ) { return filter( elem, i, match, array ); } } } }; var origPOS = Expr.match.POS, fescape = function(all, num){ return "\\" + (num - 0 + 1); }; for ( var type in Expr.match ) { Expr.match[ type ] = new RegExp( Expr.match[ type ].source + (/(?![^\[]*\])(?![^\(]*\))/.source) ); Expr.leftMatch[ type ] = new RegExp( /(^(? .|\r|\n)*?)/.source + Expr.match[ type ].source.replace(/\\(\d+)/g, fescape) ); } var makeArray = function(array, results) { array = Array.prototype.slice.call( array, 0 ); if ( results ) { results.push.apply( results, array ); return results; } return array; }; // Perform a simple check to determine if the browser is capable of // converting a NodeList to an array using builtin methods. // Also verifies that the returned array holds DOM nodes // (which is not the case in the Blackberry browser) try { Array.prototype.slice.call( document.documentElement.childNodes, 0 )[0].nodeType; // Provide a fallback method if it does not work } catch(e){ makeArray = function(array, results) { var ret = results || [], i = 0; if ( toString.call(array) === "[object Array]" ) { Array.prototype.push.apply( ret, array ); } else { if ( typeof array.length === "number" ) { for ( var l = array.length; i l; i++ ) { ret.push( array[i] ); } } else { for ( ; array[i]; i++ ) { ret.push( array[i] ); } } } return ret; }; } var sortOrder, siblingCheck; if ( document.documentElement.compareDocumentPosition ) { sortOrder = function( a, b ) { if ( a === b ) { hasDuplicate = true; return 0; } if ( !a.compareDocumentPosition || !b.compareDocumentPosition ) { return a.compareDocumentPosition ? -1 1; } return a.compareDocumentPosition(b) 4 ? -1 1; }; } else { sortOrder = function( a, b ) { var ap = [], bp = [], aup = a.parentNode, bup = b.parentNode, cur = aup, al, bl; // The nodes are identical, we can exit early if ( a === b ) { hasDuplicate = true; return 0; // If the nodes are siblings (or identical) we can do a quick check } else if ( aup === bup ) { return siblingCheck( a, b ); // If no parents were found then the nodes are disconnected } else if ( !aup ) { return -1; } else if ( !bup ) { return 1; } // Otherwise they re somewhere else in the tree so we need // to build up a full list of the parentNodes for comparison while ( cur ) { ap.unshift( cur ); cur = cur.parentNode; } cur = bup; while ( cur ) { bp.unshift( cur ); cur = cur.parentNode; } al = ap.length; bl = bp.length; // Start walking down the tree looking for a discrepancy for ( var i = 0; i al i bl; i++ ) { if ( ap[i] !== bp[i] ) { return siblingCheck( ap[i], bp[i] ); } } // We ended someplace up the tree so do a sibling check return i === al ? siblingCheck( a, bp[i], -1 ) siblingCheck( ap[i], b, 1 ); }; siblingCheck = function( a, b, ret ) { if ( a === b ) { return ret; } var cur = a.nextSibling; while ( cur ) { if ( cur === b ) { return -1; } cur = cur.nextSibling; } return 1; }; } // Utility function for retreiving the text value of an array of DOM nodes Sizzle.getText = function( elems ) { var ret = "", elem; for ( var i = 0; elems[i]; i++ ) { elem = elems[i]; // Get the text from text nodes and CDATA nodes if ( elem.nodeType === 3 || elem.nodeType === 4 ) { ret += elem.nodeValue; // Traverse everything else, except comment nodes } else if ( elem.nodeType !== 8 ) { ret += Sizzle.getText( elem.childNodes ); } } return ret; }; // Check to see if the browser returns elements by name when // querying by getElementById (and provide a workaround) (function(){ // We re going to inject a fake input element with a specified name var form = document.createElement("div"), id = "script" + (new Date()).getTime(); form.innerHTML = " a name= " + id + " / "; // Inject it into the root element, check its status, and remove it quickly var root = document.documentElement; root.insertBefore( form, root.firstChild ); // The workaround has to do additional checks after a getElementById // Which slows things down for other browsers (hence the branching) if ( document.getElementById( id ) ) { Expr.find.ID = function(match, context, isXML){ if ( typeof context.getElementById !== "undefined" !isXML ) { var m = context.getElementById(match[1]); return m ? m.id === match[1] || typeof m.getAttributeNode !== "undefined" m.getAttributeNode("id").nodeValue === match[1] ? [m] undefined []; } }; Expr.filter.ID = function(elem, match){ var node = typeof elem.getAttributeNode !== "undefined" elem.getAttributeNode("id"); return elem.nodeType === 1 node node.nodeValue === match; }; } root.removeChild( form ); root = form = null; // release memory in IE })(); (function(){ // Check to see if the browser returns only elements // when doing getElementsByTagName("*") // Create a fake element var div = document.createElement("div"); div.appendChild( document.createComment("") ); // Make sure no comments are found if ( div.getElementsByTagName("*").length 0 ) { Expr.find.TAG = function(match, context){ var results = context.getElementsByTagName(match[1]); // Filter out possible comments if ( match[1] === "*" ) { var tmp = []; for ( var i = 0; results[i]; i++ ) { if ( results[i].nodeType === 1 ) { tmp.push( results[i] ); } } results = tmp; } return results; }; } // Check to see if an attribute returns normalized href attributes div.innerHTML = " a href= # /a "; if ( div.firstChild typeof div.firstChild.getAttribute !== "undefined" div.firstChild.getAttribute("href") !== "#" ) { Expr.attrHandle.href = function(elem){ return elem.getAttribute("href", 2); }; } div = null; // release memory in IE })(); if ( document.querySelectorAll ) { (function(){ var oldSizzle = Sizzle, div = document.createElement("div"); div.innerHTML = " p class= TEST /p "; // Safari can t handle uppercase or unicode characters when // in quirks mode. if ( div.querySelectorAll div.querySelectorAll(".TEST").length === 0 ) { return; } Sizzle = function(query, context, extra, seed){ context = context || document; // Only use querySelectorAll on non-XML documents // (ID selectors don t work in non-HTML documents) if ( !seed !Sizzle.isXML(context) ) { if ( context.nodeType === 9 ) { try { return makeArray( context.querySelectorAll(query), extra ); } catch(qsaError) {} // qSA works strangely on Element-rooted queries // We can work around this by specifying an extra ID on the root // and working up from there (Thanks to Andrew Dupont for the technique) // IE 8 doesn t work on object elements } else if ( context.nodeType === 1 context.nodeName.toLowerCase() !== "object" ) { var old = context.id, id = context.id = "__sizzle__"; try { return makeArray( context.querySelectorAll( "#" + id + " " + query ), extra ); } catch(pseudoError) { } finally { if ( old ) { context.id = old; } else { context.removeAttribute( "id" ); } } } } return oldSizzle(query, context, extra, seed); }; for ( var prop in oldSizzle ) { Sizzle[ prop ] = oldSizzle[ prop ]; } div = null; // release memory in IE })(); } (function(){ var html = document.documentElement, matches = html.matchesSelector || html.mozMatchesSelector || html.webkitMatchesSelector || html.msMatchesSelector, pseudoWorks = false; try { // This should fail with an exception // Gecko does not error, returns false instead matches.call( document.documentElement, " sizzle" ); } catch( pseudoError ) { pseudoWorks = true; } if ( matches ) { Sizzle.matchesSelector = function( node, expr ) { try { if ( pseudoWorks || !Expr.match.PSEUDO.test( expr ) ) { return matches.call( node, expr ); } } catch(e) {} return Sizzle(expr, null, null, [node]).length 0; }; } })(); (function(){ var div = document.createElement("div"); div.innerHTML = " div class= test e /div div class= test /div "; // Opera can t find a second classname (in 9.6) // Also, make sure that getElementsByClassName actually exists if ( !div.getElementsByClassName || div.getElementsByClassName("e").length === 0 ) { return; } // Safari caches class attributes, doesn t catch changes (in 3.2) div.lastChild.className = "e"; if ( div.getElementsByClassName("e").length === 1 ) { return; } Expr.order.splice(1, 0, "CLASS"); Expr.find.CLASS = function(match, context, isXML) { if ( typeof context.getElementsByClassName !== "undefined" !isXML ) { return context.getElementsByClassName(match[1]); } }; div = null; // release memory in IE })(); function dirNodeCheck( dir, cur, doneName, checkSet, nodeCheck, isXML ) { for ( var i = 0, l = checkSet.length; i l; i++ ) { var elem = checkSet[i]; if ( elem ) { elem = elem[dir]; var match = false; while ( elem ) { if ( elem.sizcache === doneName ) { match = checkSet[elem.sizset]; break; } if ( elem.nodeType === 1 !isXML ){ elem.sizcache = doneName; elem.sizset = i; } if ( elem.nodeName.toLowerCase() === cur ) { match = elem; break; } elem = elem[dir]; } checkSet[i] = match; } } } function dirCheck( dir, cur, doneName, checkSet, nodeCheck, isXML ) { for ( var i = 0, l = checkSet.length; i l; i++ ) { var elem = checkSet[i]; if ( elem ) { elem = elem[dir]; var match = false; while ( elem ) { if ( elem.sizcache === doneName ) { match = checkSet[elem.sizset]; break; } if ( elem.nodeType === 1 ) { if ( !isXML ) { elem.sizcache = doneName; elem.sizset = i; } if ( typeof cur !== "string" ) { if ( elem === cur ) { match = true; break; } } else if ( Sizzle.filter( cur, [elem] ).length 0 ) { match = elem; break; } } elem = elem[dir]; } checkSet[i] = match; } } } Sizzle.contains = document.documentElement.contains ? function(a, b){ return a !== b (a.contains ? a.contains(b) true); } function(a, b){ return !!(a.compareDocumentPosition(b) 16); }; Sizzle.isXML = function(elem){ // documentElement is verified for cases where it doesn t yet exist // (such as loading iframes in IE - #4833) var documentElement = (elem ? elem.ownerDocument || elem 0).documentElement; return documentElement ? documentElement.nodeName !== "HTML" false; }; var posProcess = function(selector, context){ var tmpSet = [], later = "", match, root = context.nodeType ? [context] context; // Position selectors must be done after the filter // And so must not(positional) so we move all PSEUDOs to the end while ( (match = Expr.match.PSEUDO.exec( selector )) ) { later += match[0]; selector = selector.replace( Expr.match.PSEUDO, "" ); } selector = Expr.relative[selector] ? selector + "*" selector; for ( var i = 0, l = root.length; i l; i++ ) { Sizzle( selector, root[i], tmpSet ); } return Sizzle.filter( later, tmpSet ); }; // EXPOSE jQuery.find = Sizzle; jQuery.expr = Sizzle.selectors; jQuery.expr[" "] = jQuery.expr.filters; jQuery.unique = Sizzle.uniqueSort; jQuery.text = Sizzle.getText; jQuery.isXMLDoc = Sizzle.isXML; jQuery.contains = Sizzle.contains; })(); var runtil = /Until$/, rparentsprev = /^(? parents|prevUntil|prevAll)/, // Note This RegExp should be improved, or likely pulled from Sizzle rmultiselector = /,/, isSimple = /^.[^ #\[\.,]*$/, slice = Array.prototype.slice, POS = jQuery.expr.match.POS; jQuery.fn.extend({ find function( selector ) { var ret = this.pushStack( "", "find", selector ), length = 0; for ( var i = 0, l = this.length; i l; i++ ) { length = ret.length; jQuery.find( selector, this[i], ret ); if ( i 0 ) { // Make sure that the results are unique for ( var n = length; n ret.length; n++ ) { for ( var r = 0; r length; r++ ) { if ( ret[r] === ret[n] ) { ret.splice(n--, 1); break; } } } } } return ret; }, has function( target ) { var targets = jQuery( target ); return this.filter(function() { for ( var i = 0, l = targets.length; i l; i++ ) { if ( jQuery.contains( this, targets[i] ) ) { return true; } } }); }, not function( selector ) { return this.pushStack( winnow(this, selector, false), "not", selector); }, filter function( selector ) { return this.pushStack( winnow(this, selector, true), "filter", selector ); }, is function( selector ) { return !!selector jQuery.filter( selector, this ).length 0; }, closest function( selectors, context ) { var ret = [], i, l, cur = this[0]; if ( jQuery.isArray( selectors ) ) { var match, matches = {}, selector, level = 1; if ( cur selectors.length ) { for ( i = 0, l = selectors.length; i l; i++ ) { selector = selectors[i]; if ( !matches[selector] ) { matches[selector] = jQuery.expr.match.POS.test( selector ) ? jQuery( selector, context || this.context ) selector; } } while ( cur cur.ownerDocument cur !== context ) { for ( selector in matches ) { match = matches[selector]; if ( match.jquery ? match.index(cur) -1 jQuery(cur).is(match) ) { ret.push({ selector selector, elem cur, level level }); } } cur = cur.parentNode; level++; } } return ret; } var pos = POS.test( selectors ) ? jQuery( selectors, context || this.context ) null; for ( i = 0, l = this.length; i l; i++ ) { cur = this[i]; while ( cur ) { if ( pos ? pos.index(cur) -1 jQuery.find.matchesSelector(cur, selectors) ) { ret.push( cur ); break; } else { cur = cur.parentNode; if ( !cur || !cur.ownerDocument || cur === context ) { break; } } } } ret = ret.length 1 ? jQuery.unique(ret) ret; return this.pushStack( ret, "closest", selectors ); }, // Determine the position of an element within // the matched set of elements index function( elem ) { if ( !elem || typeof elem === "string" ) { return jQuery.inArray( this[0], // If it receives a string, the selector is used // If it receives nothing, the siblings are used elem ? jQuery( elem ) this.parent().children() ); } // Locate the position of the desired element return jQuery.inArray( // If it receives a jQuery object, the first element is used elem.jquery ? elem[0] elem, this ); }, add function( selector, context ) { var set = typeof selector === "string" ? jQuery( selector, context || this.context ) jQuery.makeArray( selector ), all = jQuery.merge( this.get(), set ); return this.pushStack( isDisconnected( set[0] ) || isDisconnected( all[0] ) ? all jQuery.unique( all ) ); }, andSelf function() { return this.add( this.prevObject ); } }); // A painfully simple check to see if an element is disconnected // from a document (should be improved, where feasible). function isDisconnected( node ) { return !node || !node.parentNode || node.parentNode.nodeType === 11; } jQuery.each({ parent function( elem ) { var parent = elem.parentNode; return parent parent.nodeType !== 11 ? parent null; }, parents function( elem ) { return jQuery.dir( elem, "parentNode" ); }, parentsUntil function( elem, i, until ) { return jQuery.dir( elem, "parentNode", until ); }, next function( elem ) { return jQuery.nth( elem, 2, "nextSibling" ); }, prev function( elem ) { return jQuery.nth( elem, 2, "previousSibling" ); }, nextAll function( elem ) { return jQuery.dir( elem, "nextSibling" ); }, prevAll function( elem ) { return jQuery.dir( elem, "previousSibling" ); }, nextUntil function( elem, i, until ) { return jQuery.dir( elem, "nextSibling", until ); }, prevUntil function( elem, i, until ) { return jQuery.dir( elem, "previousSibling", until ); }, siblings function( elem ) { return jQuery.sibling( elem.parentNode.firstChild, elem ); }, children function( elem ) { return jQuery.sibling( elem.firstChild ); }, contents function( elem ) { return jQuery.nodeName( elem, "iframe" ) ? elem.contentDocument || elem.contentWindow.document jQuery.makeArray( elem.childNodes ); } }, function( name, fn ) { jQuery.fn[ name ] = function( until, selector ) { var ret = jQuery.map( this, fn, until ); if ( !runtil.test( name ) ) { selector = until; } if ( selector typeof selector === "string" ) { ret = jQuery.filter( selector, ret ); } ret = this.length 1 ? jQuery.unique( ret ) ret; if ( (this.length 1 || rmultiselector.test( selector )) rparentsprev.test( name ) ) { ret = ret.reverse(); } return this.pushStack( ret, name, slice.call(arguments).join(",") ); }; }); jQuery.extend({ filter function( expr, elems, not ) { if ( not ) { expr = " not(" + expr + ")"; } return elems.length === 1 ? jQuery.find.matchesSelector(elems[0], expr) ? [ elems[0] ] [] jQuery.find.matches(expr, elems); }, dir function( elem, dir, until ) { var matched = [], cur = elem[dir]; while ( cur cur.nodeType !== 9 (until === undefined || cur.nodeType !== 1 || !jQuery( cur ).is( until )) ) { if ( cur.nodeType === 1 ) { matched.push( cur ); } cur = cur[dir]; } return matched; }, nth function( cur, result, dir, elem ) { result = result || 1; var num = 0; for ( ; cur; cur = cur[dir] ) { if ( cur.nodeType === 1 ++num === result ) { break; } } return cur; }, sibling function( n, elem ) { var r = []; for ( ; n; n = n.nextSibling ) { if ( n.nodeType === 1 n !== elem ) { r.push( n ); } } return r; } }); // Implement the identical functionality for filter and not function winnow( elements, qualifier, keep ) { if ( jQuery.isFunction( qualifier ) ) { return jQuery.grep(elements, function( elem, i ) { var retVal = !!qualifier.call( elem, i, elem ); return retVal === keep; }); } else if ( qualifier.nodeType ) { return jQuery.grep(elements, function( elem, i ) { return (elem === qualifier) === keep; }); } else if ( typeof qualifier === "string" ) { var filtered = jQuery.grep(elements, function( elem ) { return elem.nodeType === 1; }); if ( isSimple.test( qualifier ) ) { return jQuery.filter(qualifier, filtered, !keep); } else { qualifier = jQuery.filter( qualifier, filtered ); } } return jQuery.grep(elements, function( elem, i ) { return (jQuery.inArray( elem, qualifier ) = 0) === keep; }); } var rinlinejQuery = / jQuery\d+="(? \d+|null)"/g, rleadingWhitespace = /^\s+/, rxhtmlTag = / (?!area|br|col|embed|hr|img|input|link|meta|param)(([\w ]+)[^ ]*)\/ /ig, rtagName = / ([\w ]+)/, rtbody = / tbody/i, rhtml = / | #?\w+;/, rnocache = / (? script|object|embed|option|style)/i, rchecked = /checked\s*(? [^=]|=\s*.checked.)/i, // checked="checked" or checked (html5) raction = /\=([^=" \s]+\/) /g, wrapMap = { option [ 1, " select multiple= multiple ", " /select " ], legend [ 1, " fieldset ", " /fieldset " ], thead [ 1, " table ", " /table " ], tr [ 2, " table tbody ", " /tbody /table " ], td [ 3, " table tbody tr ", " /tr /tbody /table " ], col [ 2, " table tbody /tbody colgroup ", " /colgroup /table " ], area [ 1, " map ", " /map " ], _default [ 0, "", "" ] }; wrapMap.optgroup = wrapMap.option; wrapMap.tbody = wrapMap.tfoot = wrapMap.colgroup = wrapMap.caption = wrapMap.thead; wrapMap.th = wrapMap.td; // IE can t serialize link and script tags normally if ( !jQuery.support.htmlSerialize ) { wrapMap._default = [ 1, "div div ", " /div " ]; } jQuery.fn.extend({ text function( text ) { if ( jQuery.isFunction(text) ) { return this.each(function(i) { var self = jQuery(this); self.text( text.call(this, i, self.text()) ); }); } if ( typeof text !== "object" text !== undefined ) { return this.empty().append( (this[0] this[0].ownerDocument || document).createTextNode( text ) ); } return jQuery.text( this ); }, wrapAll function( html ) { if ( jQuery.isFunction( html ) ) { return this.each(function(i) { jQuery(this).wrapAll( html.call(this, i) ); }); } if ( this[0] ) { // The elements to wrap the target around var wrap = jQuery( html, this[0].ownerDocument ).eq(0).clone(true); if ( this[0].parentNode ) { wrap.insertBefore( this[0] ); } wrap.map(function() { var elem = this; while ( elem.firstChild elem.firstChild.nodeType === 1 ) { elem = elem.firstChild; } return elem; }).append(this); } return this; }, wrapInner function( html ) { if ( jQuery.isFunction( html ) ) { return this.each(function(i) { jQuery(this).wrapInner( html.call(this, i) ); }); } return this.each(function() { var self = jQuery( this ), contents = self.contents(); if ( contents.length ) { contents.wrapAll( html ); } else { self.append( html ); } }); }, wrap function( html ) { return this.each(function() { jQuery( this ).wrapAll( html ); }); }, unwrap function() { return this.parent().each(function() { if ( !jQuery.nodeName( this, "body" ) ) { jQuery( this ).replaceWith( this.childNodes ); } }).end(); }, append function() { return this.domManip(arguments, true, function( elem ) { if ( this.nodeType === 1 ) { this.appendChild( elem ); } }); }, prepend function() { return this.domManip(arguments, true, function( elem ) { if ( this.nodeType === 1 ) { this.insertBefore( elem, this.firstChild ); } }); }, before function() { if ( this[0] this[0].parentNode ) { return this.domManip(arguments, false, function( elem ) { this.parentNode.insertBefore( elem, this ); }); } else if ( arguments.length ) { var set = jQuery(arguments[0]); set.push.apply( set, this.toArray() ); return this.pushStack( set, "before", arguments ); } }, after function() { if ( this[0] this[0].parentNode ) { return this.domManip(arguments, false, function( elem ) { this.parentNode.insertBefore( elem, this.nextSibling ); }); } else if ( arguments.length ) { var set = this.pushStack( this, "after", arguments ); set.push.apply( set, jQuery(arguments[0]).toArray() ); return set; } }, // keepData is for internal use only--do not document remove function( selector, keepData ) { for ( var i = 0, elem; (elem = this[i]) != null; i++ ) { if ( !selector || jQuery.filter( selector, [ elem ] ).length ) { if ( !keepData elem.nodeType === 1 ) { jQuery.cleanData( elem.getElementsByTagName("*") ); jQuery.cleanData( [ elem ] ); } if ( elem.parentNode ) { elem.parentNode.removeChild( elem ); } } } return this; }, empty function() { for ( var i = 0, elem; (elem = this[i]) != null; i++ ) { // Remove element nodes and prevent memory leaks if ( elem.nodeType === 1 ) { jQuery.cleanData( elem.getElementsByTagName("*") ); } // Remove any remaining nodes while ( elem.firstChild ) { elem.removeChild( elem.firstChild ); } } return this; }, clone function( events ) { // Do the clone var ret = this.map(function() { if ( !jQuery.support.noCloneEvent !jQuery.isXMLDoc(this) ) { // IE copies events bound via attachEvent when // using cloneNode. Calling detachEvent on the // clone will also remove the events from the orignal // In order to get around this, we use innerHTML. // Unfortunately, this means some modifications to // attributes in IE that are actually only stored // as properties will not be copied (such as the // the name attribute on an input). var html = this.outerHTML, ownerDocument = this.ownerDocument; if ( !html ) { var div = ownerDocument.createElement("div"); div.appendChild( this.cloneNode(true) ); html = div.innerHTML; } return jQuery.clean([html.replace(rinlinejQuery, "") // Handle the case in IE 8 where action=/test/ self-closes a tag .replace(raction, ="$1" ) .replace(rleadingWhitespace, "")], ownerDocument)[0]; } else { return this.cloneNode(true); } }); // Copy the events from the original to the clone if ( events === true ) { cloneCopyEvent( this, ret ); cloneCopyEvent( this.find("*"), ret.find("*") ); } // Return the cloned set return ret; }, html function( value ) { if ( value === undefined ) { return this[0] this[0].nodeType === 1 ? this[0].innerHTML.replace(rinlinejQuery, "") null; // See if we can take a shortcut and just use innerHTML } else if ( typeof value === "string" !rnocache.test( value ) (jQuery.support.leadingWhitespace || !rleadingWhitespace.test( value )) !wrapMap[ (rtagName.exec( value ) || ["", ""])[1].toLowerCase() ] ) { value = value.replace(rxhtmlTag, " $1 /$2 "); try { for ( var i = 0, l = this.length; i l; i++ ) { // Remove element nodes and prevent memory leaks if ( this[i].nodeType === 1 ) { jQuery.cleanData( this[i].getElementsByTagName("*") ); this[i].innerHTML = value; } } // If using innerHTML throws an exception, use the fallback method } catch(e) { this.empty().append( value ); } } else if ( jQuery.isFunction( value ) ) { this.each(function(i){ var self = jQuery(this); self.html( value.call(this, i, self.html()) ); }); } else { this.empty().append( value ); } return this; }, replaceWith function( value ) { if ( this[0] this[0].parentNode ) { // Make sure that the elements are removed from the DOM before they are inserted // this can help fix replacing a parent with child elements if ( jQuery.isFunction( value ) ) { return this.each(function(i) { var self = jQuery(this), old = self.html(); self.replaceWith( value.call( this, i, old ) ); }); } if ( typeof value !== "string" ) { value = jQuery(value).detach(); } return this.each(function() { var next = this.nextSibling, parent = this.parentNode; jQuery(this).remove(); if ( next ) { jQuery(next).before( value ); } else { jQuery(parent).append( value ); } }); } else { return this.pushStack( jQuery(jQuery.isFunction(value) ? value() value), "replaceWith", value ); } }, detach function( selector ) { return this.remove( selector, true ); }, domManip function( args, table, callback ) { var results, first, value = args[0], scripts = [], fragment, parent; // We can t cloneNode fragments that contain checked, in WebKit if ( !jQuery.support.checkClone arguments.length === 3 typeof value === "string" rchecked.test( value ) ) { return this.each(function() { jQuery(this).domManip( args, table, callback, true ); }); } if ( jQuery.isFunction(value) ) { return this.each(function(i) { var self = jQuery(this); args[0] = value.call(this, i, table ? self.html() undefined); self.domManip( args, table, callback ); }); } if ( this[0] ) { parent = value value.parentNode; // If we re in a fragment, just use that instead of building a new one if ( jQuery.support.parentNode parent parent.nodeType === 11 parent.childNodes.length === this.length ) { results = { fragment parent }; } else { results = jQuery.buildFragment( args, this, scripts ); } fragment = results.fragment; if ( fragment.childNodes.length === 1 ) { first = fragment = fragment.firstChild; } else { first = fragment.firstChild; } if ( first ) { table = table jQuery.nodeName( first, "tr" ); for ( var i = 0, l = this.length; i l; i++ ) { callback.call( table ? root(this[i], first) this[i], i 0 || results.cacheable || this.length 1 ? fragment.cloneNode(true) fragment ); } } if ( scripts.length ) { jQuery.each( scripts, evalScript ); } } return this; } }); function root( elem, cur ) { return jQuery.nodeName(elem, "table") ? (elem.getElementsByTagName("tbody")[0] || elem.appendChild(elem.ownerDocument.createElement("tbody"))) elem; } function cloneCopyEvent(orig, ret) { var i = 0; ret.each(function() { if ( this.nodeName !== (orig[i] orig[i].nodeName) ) { return; } var oldData = jQuery.data( orig[i++] ), curData = jQuery.data( this, oldData ), events = oldData oldData.events; if ( events ) { delete curData.handle; curData.events = {}; for ( var type in events ) { for ( var handler in events[ type ] ) { jQuery.event.add( this, type, events[ type ][ handler ], events[ type ][ handler ].data ); } } } }); } jQuery.buildFragment = function( args, nodes, scripts ) { var fragment, cacheable, cacheresults, doc = (nodes nodes[0] ? nodes[0].ownerDocument || nodes[0] document); // Only cache "small" (1/2 KB) strings that are associated with the main document // Cloning options loses the selected state, so don t cache them // IE 6 doesn t like it when you put object or embed elements in a fragment // Also, WebKit does not clone checked attributes on cloneNode, so don t cache if ( args.length === 1 typeof args[0] === "string" args[0].length 512 doc === document !rnocache.test( args[0] ) (jQuery.support.checkClone || !rchecked.test( args[0] )) ) { cacheable = true; cacheresults = jQuery.fragments[ args[0] ]; if ( cacheresults ) { if ( cacheresults !== 1 ) { fragment = cacheresults; } } } if ( !fragment ) { fragment = doc.createDocumentFragment(); jQuery.clean( args, doc, fragment, scripts ); } if ( cacheable ) { jQuery.fragments[ args[0] ] = cacheresults ? fragment 1; } return { fragment fragment, cacheable cacheable }; }; jQuery.fragments = {}; jQuery.each({ appendTo "append", prependTo "prepend", insertBefore "before", insertAfter "after", replaceAll "replaceWith" }, function( name, original ) { jQuery.fn[ name ] = function( selector ) { var ret = [], insert = jQuery( selector ), parent = this.length === 1 this[0].parentNode; if ( parent parent.nodeType === 11 parent.childNodes.length === 1 insert.length === 1 ) { insert[ original ]( this[0] ); return this; } else { for ( var i = 0, l = insert.length; i l; i++ ) { var elems = (i 0 ? this.clone(true) this).get(); jQuery( insert[i] )[ original ]( elems ); ret = ret.concat( elems ); } return this.pushStack( ret, name, insert.selector ); } }; }); jQuery.extend({ clean function( elems, context, fragment, scripts ) { context = context || document; // !context.createElement fails in IE with an error but returns typeof object if ( typeof context.createElement === "undefined" ) { context = context.ownerDocument || context[0] context[0].ownerDocument || document; } var ret = []; for ( var i = 0, elem; (elem = elems[i]) != null; i++ ) { if ( typeof elem === "number" ) { elem += ""; } if ( !elem ) { continue; } // Convert html string into DOM nodes if ( typeof elem === "string" !rhtml.test( elem ) ) { elem = context.createTextNode( elem ); } else if ( typeof elem === "string" ) { // Fix "XHTML"-style tags in all browsers elem = elem.replace(rxhtmlTag, " $1 /$2 "); // Trim whitespace, otherwise indexOf won t work as expected var tag = (rtagName.exec( elem ) || ["", ""])[1].toLowerCase(), wrap = wrapMap[ tag ] || wrapMap._default, depth = wrap[0], div = context.createElement("div"); // Go to html and back, then peel off extra wrappers div.innerHTML = wrap[1] + elem + wrap[2]; // Move to the right depth while ( depth-- ) { div = div.lastChild; } // Remove IE s autoinserted tbody from table fragments if ( !jQuery.support.tbody ) { // String was a table , *may* have spurious tbody var hasBody = rtbody.test(elem), tbody = tag === "table" !hasBody ? div.firstChild div.firstChild.childNodes // String was a bare thead or tfoot wrap[1] === " table " !hasBody ? div.childNodes []; for ( var j = tbody.length - 1; j = 0 ; --j ) { if ( jQuery.nodeName( tbody[ j ], "tbody" ) !tbody[ j ].childNodes.length ) { tbody[ j ].parentNode.removeChild( tbody[ j ] ); } } } // IE completely kills leading whitespace when innerHTML is used if ( !jQuery.support.leadingWhitespace rleadingWhitespace.test( elem ) ) { div.insertBefore( context.createTextNode( rleadingWhitespace.exec(elem)[0] ), div.firstChild ); } elem = div.childNodes; } if ( elem.nodeType ) { ret.push( elem ); } else { ret = jQuery.merge( ret, elem ); } } if ( fragment ) { for ( i = 0; ret[i]; i++ ) { if ( scripts jQuery.nodeName( ret[i], "script" ) (!ret[i].type || ret[i].type.toLowerCase() === "text/javascript") ) { scripts.push( ret[i].parentNode ? ret[i].parentNode.removeChild( ret[i] ) ret[i] ); } else { if ( ret[i].nodeType === 1 ) { ret.splice.apply( ret, [i + 1, 0].concat(jQuery.makeArray(ret[i].getElementsByTagName("script"))) ); } fragment.appendChild( ret[i] ); } } } return ret; }, cleanData function( elems ) { var data, id, cache = jQuery.cache, special = jQuery.event.special, deleteExpando = jQuery.support.deleteExpando; for ( var i = 0, elem; (elem = elems[i]) != null; i++ ) { if ( elem.nodeName jQuery.noData[elem.nodeName.toLowerCase()] ) { continue; } id = elem[ jQuery.expando ]; if ( id ) { data = cache[ id ]; if ( data data.events ) { for ( var type in data.events ) { if ( special[ type ] ) { jQuery.event.remove( elem, type ); } else { jQuery.removeEvent( elem, type, data.handle ); } } } if ( deleteExpando ) { delete elem[ jQuery.expando ]; } else if ( elem.removeAttribute ) { elem.removeAttribute( jQuery.expando ); } delete cache[ id ]; } } } }); function evalScript( i, elem ) { if ( elem.src ) { jQuery.ajax({ url elem.src, async false, dataType "script" }); } else { jQuery.globalEval( elem.text || elem.textContent || elem.innerHTML || "" ); } if ( elem.parentNode ) { elem.parentNode.removeChild( elem ); } } var ralpha = /alpha\([^)]*\)/i, ropacity = /opacity=([^)]*)/, rdashAlpha = /-([a-z])/ig, rupper = /([A-Z])/g, rnumpx = /^-?\d+(? px)?$/i, rnum = /^-?\d/, cssShow = { position "absolute", visibility "hidden", display "block" }, cssWidth = [ "Left", "Right" ], cssHeight = [ "Top", "Bottom" ], curCSS, // cache check for defaultView.getComputedStyle getComputedStyle = document.defaultView document.defaultView.getComputedStyle, fcamelCase = function( all, letter ) { return letter.toUpperCase(); }; jQuery.fn.css = function( name, value ) { // Setting undefined is a no-op if ( arguments.length === 2 value === undefined ) { return this; } return jQuery.access( this, name, value, true, function( elem, name, value ) { return value !== undefined ? jQuery.style( elem, name, value ) jQuery.css( elem, name ); }); }; jQuery.extend({ // Add in style property hooks for overriding the default // behavior of getting and setting a style property cssHooks { opacity { get function( elem, computed ) { if ( computed ) { // We should always get a number back from opacity var ret = curCSS( elem, "opacity", "opacity" ); return ret === "" ? "1" ret; } else { return elem.style.opacity; } } } }, // Exclude the following css properties to add px cssNumber { "zIndex" true, "fontWeight" true, "opacity" true, "zoom" true, "lineHeight" true }, // Add in properties whose names you wish to fix before // setting or getting the value cssProps { // normalize float css property "float" jQuery.support.cssFloat ? "cssFloat" "styleFloat" }, // Get and set the style property on a DOM Node style function( elem, name, value, extra ) { // Don t set styles on text and comment nodes if ( !elem || elem.nodeType === 3 || elem.nodeType === 8 || !elem.style ) { return; } // Make sure that we re working with the right name var ret, origName = jQuery.camelCase( name ), style = elem.style, hooks = jQuery.cssHooks[ origName ]; name = jQuery.cssProps[ origName ] || origName; // Check if we re setting a value if ( value !== undefined ) { // Make sure that NaN and null values aren t set. See #7116 if ( typeof value === "number" isNaN( value ) || value == null ) { return; } // If a number was passed in, add px to the (except for certain CSS properties) if ( typeof value === "number" !jQuery.cssNumber[ origName ] ) { value += "px"; } // If a hook was provided, use that value, otherwise just set the specified value if ( !hooks || !("set" in hooks) || (value = hooks.set( elem, value )) !== undefined ) { // Wrapped to prevent IE from throwing errors when invalid values are provided // Fixes bug #5509 try { style[ name ] = value; } catch(e) {} } } else { // If a hook was provided get the non-computed value from there if ( hooks "get" in hooks (ret = hooks.get( elem, false, extra )) !== undefined ) { return ret; } // Otherwise just get the value from the style object return style[ name ]; } }, css function( elem, name, extra ) { // Make sure that we re working with the right name var ret, origName = jQuery.camelCase( name ), hooks = jQuery.cssHooks[ origName ]; name = jQuery.cssProps[ origName ] || origName; // If a hook was provided get the computed value from there if ( hooks "get" in hooks (ret = hooks.get( elem, true, extra )) !== undefined ) { return ret; // Otherwise, if a way to get the computed value exists, use that } else if ( curCSS ) { return curCSS( elem, name, origName ); } }, // A method for quickly swapping in/out CSS properties to get correct calculations swap function( elem, options, callback ) { var old = {}; // Remember the old values, and insert the new ones for ( var name in options ) { old[ name ] = elem.style[ name ]; elem.style[ name ] = options[ name ]; } callback.call( elem ); // Revert the old values for ( name in options ) { elem.style[ name ] = old[ name ]; } }, camelCase function( string ) { return string.replace( rdashAlpha, fcamelCase ); } }); // DEPRECATED, Use jQuery.css() instead jQuery.curCSS = jQuery.css; jQuery.each(["height", "width"], function( i, name ) { jQuery.cssHooks[ name ] = { get function( elem, computed, extra ) { var val; if ( computed ) { if ( elem.offsetWidth !== 0 ) { val = getWH( elem, name, extra ); } else { jQuery.swap( elem, cssShow, function() { val = getWH( elem, name, extra ); }); } return val + "px"; } }, set function( elem, value ) { if ( rnumpx.test( value ) ) { // ignore negative width and height values #1599 value = parseFloat(value); if ( value = 0 ) { return value + "px"; } } else { return value; } } }; }); if ( !jQuery.support.opacity ) { jQuery.cssHooks.opacity = { get function( elem, computed ) { // IE uses filters for opacity return ropacity.test((computed elem.currentStyle ? elem.currentStyle.filter elem.style.filter) || "") ? (parseFloat(RegExp.$1) / 100) + "" computed ? "1" ""; }, set function( elem, value ) { var style = elem.style; // IE has trouble with opacity if it does not have layout // Force it by setting the zoom level style.zoom = 1; // Set the alpha filter to set the opacity var opacity = jQuery.isNaN(value) ? "" "alpha(opacity=" + value * 100 + ")", filter = style.filter || ""; style.filter = ralpha.test(filter) ? filter.replace(ralpha, opacity) style.filter + + opacity; } }; } if ( getComputedStyle ) { curCSS = function( elem, newName, name ) { var ret, defaultView, computedStyle; name = name.replace( rupper, "-$1" ).toLowerCase(); if ( !(defaultView = elem.ownerDocument.defaultView) ) { return undefined; } if ( (computedStyle = defaultView.getComputedStyle( elem, null )) ) { ret = computedStyle.getPropertyValue( name ); if ( ret === "" !jQuery.contains( elem.ownerDocument.documentElement, elem ) ) { ret = jQuery.style( elem, name ); } } return ret; }; } else if ( document.documentElement.currentStyle ) { curCSS = function( elem, name ) { var left, rsLeft, ret = elem.currentStyle elem.currentStyle[ name ], style = elem.style; // From the awesome hack by Dean Edwards // http //erik.eae.net/archives/2007/07/27/18.54.15/#comment-102291 // If we re not dealing with a regular pixel number // but a number that has a weird ending, we need to convert it to pixels if ( !rnumpx.test( ret ) rnum.test( ret ) ) { // Remember the original values left = style.left; rsLeft = elem.runtimeStyle.left; // Put in the new values to get a computed value out elem.runtimeStyle.left = elem.currentStyle.left; style.left = name === "fontSize" ? "1em" (ret || 0); ret = style.pixelLeft + "px"; // Revert the changed values style.left = left; elem.runtimeStyle.left = rsLeft; } return ret; }; } function getWH( elem, name, extra ) { var which = name === "width" ? cssWidth cssHeight, val = name === "width" ? elem.offsetWidth elem.offsetHeight; if ( extra === "border" ) { return val; } jQuery.each( which, function() { if ( !extra ) { val -= parseFloat(jQuery.css( elem, "padding" + this )) || 0; } if ( extra === "margin" ) { val += parseFloat(jQuery.css( elem, "margin" + this )) || 0; } else { val -= parseFloat(jQuery.css( elem, "border" + this + "Width" )) || 0; } }); return val; } if ( jQuery.expr jQuery.expr.filters ) { jQuery.expr.filters.hidden = function( elem ) { var width = elem.offsetWidth, height = elem.offsetHeight; return (width === 0 height === 0) || (!jQuery.support.reliableHiddenOffsets (elem.style.display || jQuery.css( elem, "display" )) === "none"); }; jQuery.expr.filters.visible = function( elem ) { return !jQuery.expr.filters.hidden( elem ); }; } var jsc = jQuery.now(), rscript = / script\b[^ ]*(? (?! \/script ) [^ ]*)* \/script /gi, rselectTextarea = /^(? select|textarea)/i, rinput = /^(? color|date|datetime|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i, rnoContent = /^(? GET|HEAD|DELETE)$/, rbracket = /\[\]$/, jsre = /\=\?( |$)/, rquery = /\?/, rts = /([? ])_=[^ ]*/, rurl = /^(\w+ )?\/\/([^\/?#]+)/, r20 = /%20/g, rhash = /#.*$/, // Keep a copy of the old load method _load = jQuery.fn.load; jQuery.fn.extend({ load function( url, params, callback ) { if ( typeof url !== "string" _load ) { return _load.apply( this, arguments ); // Don t do a request if no elements are being requested } else if ( !this.length ) { return this; } var off = url.indexOf(" "); if ( off = 0 ) { var selector = url.slice(off, url.length); url = url.slice(0, off); } // Default to a GET request var type = "GET"; // If the second parameter was provided if ( params ) { // If it s a function if ( jQuery.isFunction( params ) ) { // We assume that it s the callback callback = params; params = null; // Otherwise, build a param string } else if ( typeof params === "object" ) { params = jQuery.param( params, jQuery.ajaxSettings.traditional ); type = "POST"; } } var self = this; // Request the remote document jQuery.ajax({ url url, type type, dataType "html", data params, complete function( res, status ) { // If successful, inject the HTML into all the matched elements if ( status === "success" || status === "notmodified" ) { // See if a selector was specified self.html( selector ? // Create a dummy div to hold the results jQuery(" div ") // inject the contents of the document in, removing the scripts // to avoid any Permission Denied errors in IE .append(res.responseText.replace(rscript, "")) // Locate the specified elements .find(selector) // If not, just inject the full result res.responseText ); } if ( callback ) { self.each( callback, [res.responseText, status, res] ); } } }); return this; }, serialize function() { return jQuery.param(this.serializeArray()); }, serializeArray function() { return this.map(function() { return this.elements ? jQuery.makeArray(this.elements) this; }) .filter(function() { return this.name !this.disabled (this.checked || rselectTextarea.test(this.nodeName) || rinput.test(this.type)); }) .map(function( i, elem ) { var val = jQuery(this).val(); return val == null ? null jQuery.isArray(val) ? jQuery.map( val, function( val, i ) { return { name elem.name, value val }; }) { name elem.name, value val }; }).get(); } }); // Attach a bunch of functions for handling common AJAX events jQuery.each( "ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "), function( i, o ) { jQuery.fn[o] = function( f ) { return this.bind(o, f); }; }); jQuery.extend({ get function( url, data, callback, type ) { // shift arguments if data argument was omited if ( jQuery.isFunction( data ) ) { type = type || callback; callback = data; data = null; } return jQuery.ajax({ type "GET", url url, data data, success callback, dataType type }); }, getScript function( url, callback ) { return jQuery.get(url, null, callback, "script"); }, getJSON function( url, data, callback ) { return jQuery.get(url, data, callback, "json"); }, post function( url, data, callback, type ) { // shift arguments if data argument was omited if ( jQuery.isFunction( data ) ) { type = type || callback; callback = data; data = {}; } return jQuery.ajax({ type "POST", url url, data data, success callback, dataType type }); }, ajaxSetup function( settings ) { jQuery.extend( jQuery.ajaxSettings, settings ); }, ajaxSettings { url location.href, global true, type "GET", contentType "application/x-www-form-urlencoded", processData true, async true, /* timeout 0, data null, username null, password null, traditional false, */ // This function can be overriden by calling jQuery.ajaxSetup xhr function() { return new window.XMLHttpRequest(); }, accepts { xml "application/xml, text/xml", html "text/html", script "text/javascript, application/javascript", json "application/json, text/javascript", text "text/plain", _default "*/*" } }, ajax function( origSettings ) { var s = jQuery.extend(true, {}, jQuery.ajaxSettings, origSettings), jsonp, status, data, type = s.type.toUpperCase(), noContent = rnoContent.test(type); s.url = s.url.replace( rhash, "" ); // Use original (not extended) context object if it was provided s.context = origSettings origSettings.context != null ? origSettings.context s; // convert data if not already a string if ( s.data s.processData typeof s.data !== "string" ) { s.data = jQuery.param( s.data, s.traditional ); } // Handle JSONP Parameter Callbacks if ( s.dataType === "jsonp" ) { if ( type === "GET" ) { if ( !jsre.test( s.url ) ) { s.url += (rquery.test( s.url ) ? " " "?") + (s.jsonp || "callback") + "=?"; } } else if ( !s.data || !jsre.test(s.data) ) { s.data = (s.data ? s.data + " " "") + (s.jsonp || "callback") + "=?"; } s.dataType = "json"; } // Build temporary JSONP function if ( s.dataType === "json" (s.data jsre.test(s.data) || jsre.test(s.url)) ) { jsonp = s.jsonpCallback || ("jsonp" + jsc++); // Replace the =? sequence both in the query string and the data if ( s.data ) { s.data = (s.data + "").replace(jsre, "=" + jsonp + "$1"); } s.url = s.url.replace(jsre, "=" + jsonp + "$1"); // We need to make sure // that a JSONP style response is executed properly s.dataType = "script"; // Handle JSONP-style loading var customJsonp = window[ jsonp ]; window[ jsonp ] = function( tmp ) { data = tmp; jQuery.handleSuccess( s, xhr, status, data ); jQuery.handleComplete( s, xhr, status, data ); if ( jQuery.isFunction( customJsonp ) ) { customJsonp( tmp ); } else { // Garbage collect window[ jsonp ] = undefined; try { delete window[ jsonp ]; } catch( jsonpError ) {} } if ( head ) { head.removeChild( script ); } }; } if ( s.dataType === "script" s.cache === null ) { s.cache = false; } if ( s.cache === false type === "GET" ) { var ts = jQuery.now(); // try replacing _= if it is there var ret = s.url.replace(rts, "$1_=" + ts); // if nothing was replaced, add timestamp to the end s.url = ret + ((ret === s.url) ? (rquery.test(s.url) ? " " "?") + "_=" + ts ""); } // If data is available, append data to url for get requests if ( s.data type === "GET" ) { s.url += (rquery.test(s.url) ? " " "?") + s.data; } // Watch for a new set of requests if ( s.global jQuery.active++ === 0 ) { jQuery.event.trigger( "ajaxStart" ); } // Matches an absolute URL, and saves the domain var parts = rurl.exec( s.url ), remote = parts (parts[1] parts[1] !== location.protocol || parts[2] !== location.host); // If we re requesting a remote document // and trying to load JSON or Script with a GET if ( s.dataType === "script" type === "GET" remote ) { var head = document.getElementsByTagName("head")[0] || document.documentElement; var script = document.createElement("script"); if ( s.scriptCharset ) { script.charset = s.scriptCharset; } script.src = s.url; // Handle Script loading if ( !jsonp ) { var done = false; // Attach handlers for all browsers script.onload = script.onreadystatechange = function() { if ( !done (!this.readyState || this.readyState === "loaded" || this.readyState === "complete") ) { done = true; jQuery.handleSuccess( s, xhr, status, data ); jQuery.handleComplete( s, xhr, status, data ); // Handle memory leak in IE script.onload = script.onreadystatechange = null; if ( head script.parentNode ) { head.removeChild( script ); } } }; } // Use insertBefore instead of appendChild to circumvent an IE6 bug. // This arises when a base node is used (#2709 and #4378). head.insertBefore( script, head.firstChild ); // We handle everything using the script element injection return undefined; } var requestDone = false; // Create the request object var xhr = s.xhr(); if ( !xhr ) { return; } // Open the socket // Passing null username, generates a login popup on Opera (#2865) if ( s.username ) { xhr.open(type, s.url, s.async, s.username, s.password); } else { xhr.open(type, s.url, s.async); } // Need an extra try/catch for cross domain requests in Firefox 3 try { // Set content-type if data specified and content-body is valid for this type if ( (s.data != null !noContent) || (origSettings origSettings.contentType) ) { xhr.setRequestHeader("Content-Type", s.contentType); } // Set the If-Modified-Since and/or If-None-Match header, if in ifModified mode. if ( s.ifModified ) { if ( jQuery.lastModified[s.url] ) { xhr.setRequestHeader("If-Modified-Since", jQuery.lastModified[s.url]); } if ( jQuery.etag[s.url] ) { xhr.setRequestHeader("If-None-Match", jQuery.etag[s.url]); } } // Set header so the called script knows that it s an XMLHttpRequest // Only send the header if it s not a remote XHR if ( !remote ) { xhr.setRequestHeader("X-Requested-With", "XMLHttpRequest"); } // Set the Accepts header for the server, depending on the dataType xhr.setRequestHeader("Accept", s.dataType s.accepts[ s.dataType ] ? s.accepts[ s.dataType ] + ", */*; q=0.01" s.accepts._default ); } catch( headerError ) {} // Allow custom headers/mimetypes and early abort if ( s.beforeSend s.beforeSend.call(s.context, xhr, s) === false ) { // Handle the global AJAX counter if ( s.global jQuery.active-- === 1 ) { jQuery.event.trigger( "ajaxStop" ); } // close opended socket xhr.abort(); return false; } if ( s.global ) { jQuery.triggerGlobal( s, "ajaxSend", [xhr, s] ); } // Wait for a response to come back var onreadystatechange = xhr.onreadystatechange = function( isTimeout ) { // The request was aborted if ( !xhr || xhr.readyState === 0 || isTimeout === "abort" ) { // Opera doesn t call onreadystatechange before this point // so we simulate the call if ( !requestDone ) { jQuery.handleComplete( s, xhr, status, data ); } requestDone = true; if ( xhr ) { xhr.onreadystatechange = jQuery.noop; } // The transfer is complete and the data is available, or the request timed out } else if ( !requestDone xhr (xhr.readyState === 4 || isTimeout === "timeout") ) { requestDone = true; xhr.onreadystatechange = jQuery.noop; status = isTimeout === "timeout" ? "timeout" !jQuery.httpSuccess( xhr ) ? "error" s.ifModified jQuery.httpNotModified( xhr, s.url ) ? "notmodified" "success"; var errMsg; if ( status === "success" ) { // Watch for, and catch, XML document parse errors try { // process the data (runs the xml through httpData regardless of callback) data = jQuery.httpData( xhr, s.dataType, s ); } catch( parserError ) { status = "parsererror"; errMsg = parserError; } } // Make sure that the request was successful or notmodified if ( status === "success" || status === "notmodified" ) { // JSONP handles its own success callback if ( !jsonp ) { jQuery.handleSuccess( s, xhr, status, data ); } } else { jQuery.handleError( s, xhr, status, errMsg ); } // Fire the complete handlers if ( !jsonp ) { jQuery.handleComplete( s, xhr, status, data ); } if ( isTimeout === "timeout" ) { xhr.abort(); } // Stop memory leaks if ( s.async ) { xhr = null; } } }; // Override the abort handler, if we can (IE 6 doesn t allow it, but that s OK) // Opera doesn t fire onreadystatechange at all on abort try { var oldAbort = xhr.abort; xhr.abort = function() { // xhr.abort in IE7 is not a native JS function // and does not have a call property if ( xhr oldAbort.call ) { oldAbort.call( xhr ); } onreadystatechange( "abort" ); }; } catch( abortError ) {} // Timeout checker if ( s.async s.timeout 0 ) { setTimeout(function() { // Check to see if the request is still happening if ( xhr !requestDone ) { onreadystatechange( "timeout" ); } }, s.timeout); } // Send the data try { xhr.send( noContent || s.data == null ? null s.data ); } catch( sendError ) { jQuery.handleError( s, xhr, null, sendError ); // Fire the complete handlers jQuery.handleComplete( s, xhr, status, data ); } // firefox 1.5 doesn t fire statechange for sync requests if ( !s.async ) { onreadystatechange(); } // return XMLHttpRequest to allow aborting the request etc. return xhr; }, // Serialize an array of form elements or a set of // key/values into a query string param function( a, traditional ) { var s = [], add = function( key, value ) { // If value is a function, invoke it and return its value value = jQuery.isFunction(value) ? value() value; s[ s.length ] = encodeURIComponent(key) + "=" + encodeURIComponent(value); }; // Set traditional to true for jQuery = 1.3.2 behavior. if ( traditional === undefined ) { traditional = jQuery.ajaxSettings.traditional; } // If an array was passed in, assume that it is an array of form elements. if ( jQuery.isArray(a) || a.jquery ) { // Serialize the form elements jQuery.each( a, function() { add( this.name, this.value ); }); } else { // If traditional, encode the "old" way (the way 1.3.2 or older // did it), otherwise encode params recursively. for ( var prefix in a ) { buildParams( prefix, a[prefix], traditional, add ); } } // Return the resulting serialization return s.join(" ").replace(r20, "+"); } }); function buildParams( prefix, obj, traditional, add ) { if ( jQuery.isArray(obj) obj.length ) { // Serialize array item. jQuery.each( obj, function( i, v ) { if ( traditional || rbracket.test( prefix ) ) { // Treat each array item as a scalar. add( prefix, v ); } else { // If array item is non-scalar (array or object), encode its // numeric index to resolve deserialization ambiguity issues. // Note that rack (as of 1.0.0) can t currently deserialize // nested arrays properly, and attempting to do so may cause // a server error. Possible fixes are to modify rack s // deserialization algorithm or to provide an option or flag // to force array serialization to be shallow. buildParams( prefix + "[" + ( typeof v === "object" || jQuery.isArray(v) ? i "" ) + "]", v, traditional, add ); } }); } else if ( !traditional obj != null typeof obj === "object" ) { if ( jQuery.isEmptyObject( obj ) ) { add( prefix, "" ); // Serialize object item. } else { jQuery.each( obj, function( k, v ) { buildParams( prefix + "[" + k + "]", v, traditional, add ); }); } } else { // Serialize scalar item. add( prefix, obj ); } } // This is still on the jQuery object... for now // Want to move this to jQuery.ajax some day jQuery.extend({ // Counter for holding the number of active queries active 0, // Last-Modified header cache for next request lastModified {}, etag {}, handleError function( s, xhr, status, e ) { // If a local callback was specified, fire it if ( s.error ) { s.error.call( s.context, xhr, status, e ); } // Fire the global callback if ( s.global ) { jQuery.triggerGlobal( s, "ajaxError", [xhr, s, e] ); } }, handleSuccess function( s, xhr, status, data ) { // If a local callback was specified, fire it and pass it the data if ( s.success ) { s.success.call( s.context, data, status, xhr ); } // Fire the global callback if ( s.global ) { jQuery.triggerGlobal( s, "ajaxSuccess", [xhr, s] ); } }, handleComplete function( s, xhr, status ) { // Process result if ( s.complete ) { s.complete.call( s.context, xhr, status ); } // The request was completed if ( s.global ) { jQuery.triggerGlobal( s, "ajaxComplete", [xhr, s] ); } // Handle the global AJAX counter if ( s.global jQuery.active-- === 1 ) { jQuery.event.trigger( "ajaxStop" ); } }, triggerGlobal function( s, type, args ) { (s.context s.context.url == null ? jQuery(s.context) jQuery.event).trigger(type, args); }, // Determines if an XMLHttpRequest was successful or not httpSuccess function( xhr ) { try { // IE error sometimes returns 1223 when it should be 204 so treat it as success, see #1450 return !xhr.status location.protocol === "file " || xhr.status = 200 xhr.status 300 || xhr.status === 304 || xhr.status === 1223; } catch(e) {} return false; }, // Determines if an XMLHttpRequest returns NotModified httpNotModified function( xhr, url ) { var lastModified = xhr.getResponseHeader("Last-Modified"), etag = xhr.getResponseHeader("Etag"); if ( lastModified ) { jQuery.lastModified[url] = lastModified; } if ( etag ) { jQuery.etag[url] = etag; } return xhr.status === 304; }, httpData function( xhr, type, s ) { var ct = xhr.getResponseHeader("content-type") || "", xml = type === "xml" || !type ct.indexOf("xml") = 0, data = xml ? xhr.responseXML xhr.responseText; if ( xml data.documentElement.nodeName === "parsererror" ) { jQuery.error( "parsererror" ); } // Allow a pre-filtering function to sanitize the response // s is checked to keep backwards compatibility if ( s s.dataFilter ) { data = s.dataFilter( data, type ); } // The filter can actually parse the response if ( typeof data === "string" ) { // Get the JavaScript object, if JSON is used. if ( type === "json" || !type ct.indexOf("json") = 0 ) { data = jQuery.parseJSON( data ); // If the type is "script", eval it in global context } else if ( type === "script" || !type ct.indexOf("javascript") = 0 ) { jQuery.globalEval( data ); } } return data; } }); /* * Create the request object; Microsoft failed to properly * implement the XMLHttpRequest in IE7 (can t request local files), * so we use the ActiveXObject when it is available * Additionally XMLHttpRequest can be disabled in IE7/IE8 so * we need a fallback. */ if ( window.ActiveXObject ) { jQuery.ajaxSettings.xhr = function() { if ( window.location.protocol !== "file " ) { try { return new window.XMLHttpRequest(); } catch(xhrError) {} } try { return new window.ActiveXObject("Microsoft.XMLHTTP"); } catch(activeError) {} }; } // Does this browser support XHR requests? jQuery.support.ajax = !!jQuery.ajaxSettings.xhr(); var elemdisplay = {}, rfxtypes = /^(? toggle|show|hide)$/, rfxnum = /^([+\-]=)?([\d+.\-]+)(.*)$/, timerId, fxAttrs = [ // height animations [ "height", "marginTop", "marginBottom", "paddingTop", "paddingBottom" ], // width animations [ "width", "marginLeft", "marginRight", "paddingLeft", "paddingRight" ], // opacity animations [ "opacity" ] ]; jQuery.fn.extend({ show function( speed, easing, callback ) { if ( speed || speed === 0 ) { return this.animate( genFx("show", 3), speed, easing, callback); } else { for ( var i = 0, j = this.length; i j; i++ ) { // Reset the inline display of this element to learn if it is // being hidden by cascaded rules or not if ( !jQuery.data(this[i], "olddisplay") this[i].style.display === "none" ) { this[i].style.display = ""; } // Set elements which have been overridden with display none // in a stylesheet to whatever the default browser style is // for such an element if ( this[i].style.display === "" jQuery.css( this[i], "display" ) === "none" ) { jQuery.data(this[i], "olddisplay", defaultDisplay(this[i].nodeName)); } } // Set the display of most of the elements in a second loop // to avoid the constant reflow for ( i = 0; i j; i++ ) { this[i].style.display = jQuery.data(this[i], "olddisplay") || ""; } return this; } }, hide function( speed, easing, callback ) { if ( speed || speed === 0 ) { return this.animate( genFx("hide", 3), speed, easing, callback); } else { for ( var i = 0, j = this.length; i j; i++ ) { var display = jQuery.css( this[i], "display" ); if ( display !== "none" ) { jQuery.data( this[i], "olddisplay", display ); } } // Set the display of the elements in a second loop // to avoid the constant reflow for ( i = 0; i j; i++ ) { this[i].style.display = "none"; } return this; } }, // Save the old toggle function _toggle jQuery.fn.toggle, toggle function( fn, fn2, callback ) { var bool = typeof fn === "boolean"; if ( jQuery.isFunction(fn) jQuery.isFunction(fn2) ) { this._toggle.apply( this, arguments ); } else if ( fn == null || bool ) { this.each(function() { var state = bool ? fn jQuery(this).is(" hidden"); jQuery(this)[ state ? "show" "hide" ](); }); } else { this.animate(genFx("toggle", 3), fn, fn2, callback); } return this; }, fadeTo function( speed, to, easing, callback ) { return this.filter(" hidden").css("opacity", 0).show().end() .animate({opacity to}, speed, easing, callback); }, animate function( prop, speed, easing, callback ) { var optall = jQuery.speed(speed, easing, callback); if ( jQuery.isEmptyObject( prop ) ) { return this.each( optall.complete ); } return this[ optall.queue === false ? "each" "queue" ](function() { // XXX 窶・his窶・does not always have a nodeName when running the // test suite var opt = jQuery.extend({}, optall), p, isElement = this.nodeType === 1, hidden = isElement jQuery(this).is(" hidden"), self = this; for ( p in prop ) { var name = jQuery.camelCase( p ); if ( p !== name ) { prop[ name ] = prop[ p ]; delete prop[ p ]; p = name; } if ( prop[p] === "hide" hidden || prop[p] === "show" !hidden ) { return opt.complete.call(this); } if ( isElement ( p === "height" || p === "width" ) ) { // Make sure that nothing sneaks out // Record all 3 overflow attributes because IE does not // change the overflow attribute when overflowX and // overflowY are set to the same value opt.overflow = [ this.style.overflow, this.style.overflowX, this.style.overflowY ]; // Set display property to inline-block for height/width // animations on inline elements that are having width/height // animated if ( jQuery.css( this, "display" ) === "inline" jQuery.css( this, "float" ) === "none" ) { if ( !jQuery.support.inlineBlockNeedsLayout ) { this.style.display = "inline-block"; } else { var display = defaultDisplay(this.nodeName); // inline-level elements accept inline-block; // block-level elements need to be inline with layout if ( display === "inline" ) { this.style.display = "inline-block"; } else { this.style.display = "inline"; this.style.zoom = 1; } } } } if ( jQuery.isArray( prop[p] ) ) { // Create (if needed) and add to specialEasing (opt.specialEasing = opt.specialEasing || {})[p] = prop[p][1]; prop[p] = prop[p][0]; } } if ( opt.overflow != null ) { this.style.overflow = "hidden"; } opt.curAnim = jQuery.extend({}, prop); jQuery.each( prop, function( name, val ) { var e = new jQuery.fx( self, opt, name ); if ( rfxtypes.test(val) ) { e[ val === "toggle" ? hidden ? "show" "hide" val ]( prop ); } else { var parts = rfxnum.exec(val), start = e.cur(true) || 0; if ( parts ) { var end = parseFloat( parts[2] ), unit = parts[3] || "px"; // We need to compute starting value if ( unit !== "px" ) { jQuery.style( self, name, (end || 1) + unit); start = ((end || 1) / e.cur(true)) * start; jQuery.style( self, name, start + unit); } // If a +=/-= token was provided, we re doing a relative animation if ( parts[1] ) { end = ((parts[1] === "-=" ? -1 1) * end) + start; } e.custom( start, end, unit ); } else { e.custom( start, val, "" ); } } }); // For JS strict compliance return true; }); }, stop function( clearQueue, gotoEnd ) { var timers = jQuery.timers; if ( clearQueue ) { this.queue([]); } this.each(function() { // go in reverse order so anything added to the queue during the loop is ignored for ( var i = timers.length - 1; i = 0; i-- ) { if ( timers[i].elem === this ) { if (gotoEnd) { // force the next step to be the last timers[i](true); } timers.splice(i, 1); } } }); // start the next in the queue if the last step wasn t forced if ( !gotoEnd ) { this.dequeue(); } return this; } }); function genFx( type, num ) { var obj = {}; jQuery.each( fxAttrs.concat.apply([], fxAttrs.slice(0,num)), function() { obj[ this ] = type; }); return obj; } // Generate shortcuts for custom animations jQuery.each({ slideDown genFx("show", 1), slideUp genFx("hide", 1), slideToggle genFx("toggle", 1), fadeIn { opacity "show" }, fadeOut { opacity "hide" } }, function( name, props ) { jQuery.fn[ name ] = function( speed, easing, callback ) { return this.animate( props, speed, easing, callback ); }; }); jQuery.extend({ speed function( speed, easing, fn ) { var opt = speed typeof speed === "object" ? jQuery.extend({}, speed) { complete fn || !fn easing || jQuery.isFunction( speed ) speed, duration speed, easing fn easing || easing !jQuery.isFunction(easing) easing }; opt.duration = jQuery.fx.off ? 0 typeof opt.duration === "number" ? opt.duration opt.duration in jQuery.fx.speeds ? jQuery.fx.speeds[opt.duration] jQuery.fx.speeds._default; // Queueing opt.old = opt.complete; opt.complete = function() { if ( opt.queue !== false ) { jQuery(this).dequeue(); } if ( jQuery.isFunction( opt.old ) ) { opt.old.call( this ); } }; return opt; }, easing { linear function( p, n, firstNum, diff ) { return firstNum + diff * p; }, swing function( p, n, firstNum, diff ) { return ((-Math.cos(p*Math.PI)/2) + 0.5) * diff + firstNum; } }, timers [], fx function( elem, options, prop ) { this.options = options; this.elem = elem; this.prop = prop; if ( !options.orig ) { options.orig = {}; } } }); jQuery.fx.prototype = { // Simple function for setting a style value update function() { if ( this.options.step ) { this.options.step.call( this.elem, this.now, this ); } (jQuery.fx.step[this.prop] || jQuery.fx.step._default)( this ); }, // Get the current size cur function() { if ( this.elem[this.prop] != null (!this.elem.style || this.elem.style[this.prop] == null) ) { return this.elem[ this.prop ]; } var r = parseFloat( jQuery.css( this.elem, this.prop ) ); return r r -10000 ? r 0; }, // Start an animation from one number to another custom function( from, to, unit ) { this.startTime = jQuery.now(); this.start = from; this.end = to; this.unit = unit || this.unit || "px"; this.now = this.start; this.pos = this.state = 0; var self = this, fx = jQuery.fx; function t( gotoEnd ) { return self.step(gotoEnd); } t.elem = this.elem; if ( t() jQuery.timers.push(t) !timerId ) { timerId = setInterval(fx.tick, fx.interval); } }, // Simple show function show function() { // Remember where we started, so that we can go back to it later this.options.orig[this.prop] = jQuery.style( this.elem, this.prop ); this.options.show = true; // Begin the animation // Make sure that we start at a small width/height to avoid any // flash of content this.custom(this.prop === "width" || this.prop === "height" ? 1 0, this.cur()); // Start by showing the element jQuery( this.elem ).show(); }, // Simple hide function hide function() { // Remember where we started, so that we can go back to it later this.options.orig[this.prop] = jQuery.style( this.elem, this.prop ); this.options.hide = true; // Begin the animation this.custom(this.cur(), 0); }, // Each step of an animation step function( gotoEnd ) { var t = jQuery.now(), done = true; if ( gotoEnd || t = this.options.duration + this.startTime ) { this.now = this.end; this.pos = this.state = 1; this.update(); this.options.curAnim[ this.prop ] = true; for ( var i in this.options.curAnim ) { if ( this.options.curAnim[i] !== true ) { done = false; } } if ( done ) { // Reset the overflow if ( this.options.overflow != null !jQuery.support.shrinkWrapBlocks ) { var elem = this.elem, options = this.options; jQuery.each( [ "", "X", "Y" ], function (index, value) { elem.style[ "overflow" + value ] = options.overflow[index]; } ); } // Hide the element if the "hide" operation was done if ( this.options.hide ) { jQuery(this.elem).hide(); } // Reset the properties, if the item has been hidden or shown if ( this.options.hide || this.options.show ) { for ( var p in this.options.curAnim ) { jQuery.style( this.elem, p, this.options.orig[p] ); } } // Execute the complete function this.options.complete.call( this.elem ); } return false; } else { var n = t - this.startTime; this.state = n / this.options.duration; // Perform the easing function, defaults to swing var specialEasing = this.options.specialEasing this.options.specialEasing[this.prop]; var defaultEasing = this.options.easing || (jQuery.easing.swing ? "swing" "linear"); this.pos = jQuery.easing[specialEasing || defaultEasing](this.state, n, 0, 1, this.options.duration); this.now = this.start + ((this.end - this.start) * this.pos); // Perform the next step of the animation this.update(); } return true; } }; jQuery.extend( jQuery.fx, { tick function() { var timers = jQuery.timers; for ( var i = 0; i timers.length; i++ ) { if ( !timers[i]() ) { timers.splice(i--, 1); } } if ( !timers.length ) { jQuery.fx.stop(); } }, interval 13, stop function() { clearInterval( timerId ); timerId = null; }, speeds { slow 600, fast 200, // Default speed _default 400 }, step { opacity function( fx ) { jQuery.style( fx.elem, "opacity", fx.now ); }, _default function( fx ) { if ( fx.elem.style fx.elem.style[ fx.prop ] != null ) { fx.elem.style[ fx.prop ] = (fx.prop === "width" || fx.prop === "height" ? Math.max(0, fx.now) fx.now) + fx.unit; } else { fx.elem[ fx.prop ] = fx.now; } } } }); if ( jQuery.expr jQuery.expr.filters ) { jQuery.expr.filters.animated = function( elem ) { return jQuery.grep(jQuery.timers, function( fn ) { return elem === fn.elem; }).length; }; } function defaultDisplay( nodeName ) { if ( !elemdisplay[ nodeName ] ) { var elem = jQuery(" " + nodeName + " ").appendTo("body"), display = elem.css("display"); elem.remove(); if ( display === "none" || display === "" ) { display = "block"; } elemdisplay[ nodeName ] = display; } return elemdisplay[ nodeName ]; } var rtable = /^t(? able|d|h)$/i, rroot = /^(? body|html)$/i; if ( "getBoundingClientRect" in document.documentElement ) { jQuery.fn.offset = function( options ) { var elem = this[0], box; if ( options ) { return this.each(function( i ) { jQuery.offset.setOffset( this, options, i ); }); } if ( !elem || !elem.ownerDocument ) { return null; } if ( elem === elem.ownerDocument.body ) { return jQuery.offset.bodyOffset( elem ); } try { box = elem.getBoundingClientRect(); } catch(e) {} var doc = elem.ownerDocument, docElem = doc.documentElement; // Make sure we re not dealing with a disconnected DOM node if ( !box || !jQuery.contains( docElem, elem ) ) { return box || { top 0, left 0 }; } var body = doc.body, win = getWindow(doc), clientTop = docElem.clientTop || body.clientTop || 0, clientLeft = docElem.clientLeft || body.clientLeft || 0, scrollTop = (win.pageYOffset || jQuery.support.boxModel docElem.scrollTop || body.scrollTop ), scrollLeft = (win.pageXOffset || jQuery.support.boxModel docElem.scrollLeft || body.scrollLeft), top = box.top + scrollTop - clientTop, left = box.left + scrollLeft - clientLeft; return { top top, left left }; }; } else { jQuery.fn.offset = function( options ) { var elem = this[0]; if ( options ) { return this.each(function( i ) { jQuery.offset.setOffset( this, options, i ); }); } if ( !elem || !elem.ownerDocument ) { return null; } if ( elem === elem.ownerDocument.body ) { return jQuery.offset.bodyOffset( elem ); } jQuery.offset.initialize(); var offsetParent = elem.offsetParent, prevOffsetParent = elem, doc = elem.ownerDocument, computedStyle, docElem = doc.documentElement, body = doc.body, defaultView = doc.defaultView, prevComputedStyle = defaultView ? defaultView.getComputedStyle( elem, null ) elem.currentStyle, top = elem.offsetTop, left = elem.offsetLeft; while ( (elem = elem.parentNode) elem !== body elem !== docElem ) { if ( jQuery.offset.supportsFixedPosition prevComputedStyle.position === "fixed" ) { break; } computedStyle = defaultView ? defaultView.getComputedStyle(elem, null) elem.currentStyle; top -= elem.scrollTop; left -= elem.scrollLeft; if ( elem === offsetParent ) { top += elem.offsetTop; left += elem.offsetLeft; if ( jQuery.offset.doesNotAddBorder !(jQuery.offset.doesAddBorderForTableAndCells rtable.test(elem.nodeName)) ) { top += parseFloat( computedStyle.borderTopWidth ) || 0; left += parseFloat( computedStyle.borderLeftWidth ) || 0; } prevOffsetParent = offsetParent; offsetParent = elem.offsetParent; } if ( jQuery.offset.subtractsBorderForOverflowNotVisible computedStyle.overflow !== "visible" ) { top += parseFloat( computedStyle.borderTopWidth ) || 0; left += parseFloat( computedStyle.borderLeftWidth ) || 0; } prevComputedStyle = computedStyle; } if ( prevComputedStyle.position === "relative" || prevComputedStyle.position === "static" ) { top += body.offsetTop; left += body.offsetLeft; } if ( jQuery.offset.supportsFixedPosition prevComputedStyle.position === "fixed" ) { top += Math.max( docElem.scrollTop, body.scrollTop ); left += Math.max( docElem.scrollLeft, body.scrollLeft ); } return { top top, left left }; }; } jQuery.offset = { initialize function() { var body = document.body, container = document.createElement("div"), innerDiv, checkDiv, table, td, bodyMarginTop = parseFloat( jQuery.css(body, "marginTop") ) || 0, html = " div style= position absolute;top 0;left 0;margin 0;border 5px solid #000;padding 0;width 1px;height 1px; div /div /div table style= position absolute;top 0;left 0;margin 0;border 5px solid #000;padding 0;width 1px;height 1px; cellpadding= 0 cellspacing= 0 tr td /td /tr /table "; jQuery.extend( container.style, { position "absolute", top 0, left 0, margin 0, border 0, width "1px", height "1px", visibility "hidden" } ); container.innerHTML = html; body.insertBefore( container, body.firstChild ); innerDiv = container.firstChild; checkDiv = innerDiv.firstChild; td = innerDiv.nextSibling.firstChild.firstChild; this.doesNotAddBorder = (checkDiv.offsetTop !== 5); this.doesAddBorderForTableAndCells = (td.offsetTop === 5); checkDiv.style.position = "fixed"; checkDiv.style.top = "20px"; // safari subtracts parent border width here which is 5px this.supportsFixedPosition = (checkDiv.offsetTop === 20 || checkDiv.offsetTop === 15); checkDiv.style.position = checkDiv.style.top = ""; innerDiv.style.overflow = "hidden"; innerDiv.style.position = "relative"; this.subtractsBorderForOverflowNotVisible = (checkDiv.offsetTop === -5); this.doesNotIncludeMarginInBodyOffset = (body.offsetTop !== bodyMarginTop); body.removeChild( container ); body = container = innerDiv = checkDiv = table = td = null; jQuery.offset.initialize = jQuery.noop; }, bodyOffset function( body ) { var top = body.offsetTop, left = body.offsetLeft; jQuery.offset.initialize(); if ( jQuery.offset.doesNotIncludeMarginInBodyOffset ) { top += parseFloat( jQuery.css(body, "marginTop") ) || 0; left += parseFloat( jQuery.css(body, "marginLeft") ) || 0; } return { top top, left left }; }, setOffset function( elem, options, i ) { var position = jQuery.css( elem, "position" ); // set position first, in-case top/left are set even on static elem if ( position === "static" ) { elem.style.position = "relative"; } var curElem = jQuery( elem ), curOffset = curElem.offset(), curCSSTop = jQuery.css( elem, "top" ), curCSSLeft = jQuery.css( elem, "left" ), calculatePosition = (position === "absolute" jQuery.inArray( auto , [curCSSTop, curCSSLeft]) -1), props = {}, curPosition = {}, curTop, curLeft; // need to be able to calculate position if either top or left is auto and position is absolute if ( calculatePosition ) { curPosition = curElem.position(); } curTop = calculatePosition ? curPosition.top parseInt( curCSSTop, 10 ) || 0; curLeft = calculatePosition ? curPosition.left parseInt( curCSSLeft, 10 ) || 0; if ( jQuery.isFunction( options ) ) { options = options.call( elem, i, curOffset ); } if (options.top != null) { props.top = (options.top - curOffset.top) + curTop; } if (options.left != null) { props.left = (options.left - curOffset.left) + curLeft; } if ( "using" in options ) { options.using.call( elem, props ); } else { curElem.css( props ); } } }; jQuery.fn.extend({ position function() { if ( !this[0] ) { return null; } var elem = this[0], // Get *real* offsetParent offsetParent = this.offsetParent(), // Get correct offsets offset = this.offset(), parentOffset = rroot.test(offsetParent[0].nodeName) ? { top 0, left 0 } offsetParent.offset(); // Subtract element margins // note when an element has margin auto the offsetLeft and marginLeft // are the same in Safari causing offset.left to incorrectly be 0 offset.top -= parseFloat( jQuery.css(elem, "marginTop") ) || 0; offset.left -= parseFloat( jQuery.css(elem, "marginLeft") ) || 0; // Add offsetParent borders parentOffset.top += parseFloat( jQuery.css(offsetParent[0], "borderTopWidth") ) || 0; parentOffset.left += parseFloat( jQuery.css(offsetParent[0], "borderLeftWidth") ) || 0; // Subtract the two offsets return { top offset.top - parentOffset.top, left offset.left - parentOffset.left }; }, offsetParent function() { return this.map(function() { var offsetParent = this.offsetParent || document.body; while ( offsetParent (!rroot.test(offsetParent.nodeName) jQuery.css(offsetParent, "position") === "static") ) { offsetParent = offsetParent.offsetParent; } return offsetParent; }); } }); // Create scrollLeft and scrollTop methods jQuery.each( ["Left", "Top"], function( i, name ) { var method = "scroll" + name; jQuery.fn[ method ] = function(val) { var elem = this[0], win; if ( !elem ) { return null; } if ( val !== undefined ) { // Set the scroll offset return this.each(function() { win = getWindow( this ); if ( win ) { win.scrollTo( !i ? val jQuery(win).scrollLeft(), i ? val jQuery(win).scrollTop() ); } else { this[ method ] = val; } }); } else { win = getWindow( elem ); // Return the scroll offset return win ? ("pageXOffset" in win) ? win[ i ? "pageYOffset" "pageXOffset" ] jQuery.support.boxModel win.document.documentElement[ method ] || win.document.body[ method ] elem[ method ]; } }; }); function getWindow( elem ) { return jQuery.isWindow( elem ) ? elem elem.nodeType === 9 ? elem.defaultView || elem.parentWindow false; } // Create innerHeight, innerWidth, outerHeight and outerWidth methods jQuery.each([ "Height", "Width" ], function( i, name ) { var type = name.toLowerCase(); // innerHeight and innerWidth jQuery.fn["inner" + name] = function() { return this[0] ? parseFloat( jQuery.css( this[0], type, "padding" ) ) null; }; // outerHeight and outerWidth jQuery.fn["outer" + name] = function( margin ) { return this[0] ? parseFloat( jQuery.css( this[0], type, margin ? "margin" "border" ) ) null; }; jQuery.fn[ type ] = function( size ) { // Get window width or height var elem = this[0]; if ( !elem ) { return size == null ? null this; } if ( jQuery.isFunction( size ) ) { return this.each(function( i ) { var self = jQuery( this ); self[ type ]( size.call( this, i, self[ type ]() ) ); }); } return jQuery.isWindow( elem ) ? // Everyone else use document.documentElement or document.body depending on Quirks vs Standards mode elem.document.compatMode === "CSS1Compat" elem.document.documentElement[ "client" + name ] || elem.document.body[ "client" + name ] // Get document width or height (elem.nodeType === 9) ? // is it a document // Either scroll[Width/Height] or offset[Width/Height], whichever is greater Math.max( elem.documentElement["client" + name], elem.body["scroll" + name], elem.documentElement["scroll" + name], elem.body["offset" + name], elem.documentElement["offset" + name] ) // Get or set width or height on the element size === undefined ? // Get width or height on the element parseFloat( jQuery.css( elem, type ) ) // Set the width or height on the element (default to pixels if value is unitless) this.css( type, typeof size === "string" ? size size + "px" ); }; }); })(window);
https://w.atwiki.jp/elvis/pages/1597.html
Electronic Commerce 2006 A Managerial Perspective (Pie) Efraim Turban?Dave King?Jae Lee?Dennis Viehland? King of the Wind The Story of the Godolphin Arabian Marguerite Henry?Wesley Dennis? Art Of Modern Rock The Poster Explosion Wayne CoynePaul GrushkinDennis King More Reef Fishes and Nudibranchs Dennis KingValda Fraser? BTEC First Travel and Tourism Andrew Kerr?Christine King?Dennis Brombley?Malcolm Jefferies? Monitors The Biology of Varanid Lizards Dennis KingBrian Green?Frank Knight?Keith Newgrain?Jo Eberhard? The Old Testament for Latter-Day Saint Families Illustrated King James Version with Helps for Children Thomas R. Valletta?Bruce L. Andreason?Richard O. Christensen?John L. Fowles?Dennis H. Leavitt? Twentieth-century Architecture Dennis P. Doordan? Twentieth-century Architecture Dennis P. Doordan? New Glass Architecture Brent Richards?Dennis Gilbert? Art of Modern Rock. The Poster Explosion Paul GrushkinDennis King Goanna The Biology of Varanid Lizards (Australian Natural History Series) Brian Green?Dennis King Journal On Data Semantics II (Lecture Notes in Computer Science) Stefano Spaccapietra?Elisa Bertino?Sushil Jajodia?Roger B. King?Dennis McLeod?Maria E. Orlowska?Leon Strous? Adventures of King Arthur (Picture Classics) Angela Wilkes?Peter Dennis? Twentieth Century Lincolnshire Dennis Mills? King Philip Indian Leader (Fradin, Dennis B. Colonial Profiles Series.) Dennis B. Fradin?Tom Dunnington? Twentieth Century Lincolnshire (History of Lincolnshire) M. W. Barley?Dennis R. Mills? The King of Torts John Grisham?Dennis Boutsikaris? Classroom Publishing A Practical Guide to Enhancing Student Literacy Laurie King?Dennis Stovall? A Worshipper's Guide to the Holy Land Dennis Jernigan?Chuck King? Streetwise Year 6/P7 Easy Order Pack (Literacy Land, Streetwise) Christine Hall?J. Alexander?Dick King-Smith?Pratima Mitchell?Martin Coles?Louise Cooper?Linda Newbery?Theresa Breslin?Dennis Hamley?Ian Serraillier? The King of Torts John Grisham?Dennis Boutsikaris? King's Reach 17Th-Century Plantation Life (Jefferson Patterson Park and Museum Studies in Archaeology) Dennis J. Pogue? Topology in Chemistry Discrete Mathematics of Molecules Dennis H. Rouvray?R. Bruce King? The King of Torts John Grisham?Dennis Boutsikaris? King of the Wind The Story of the Godolphin Arabian Marguerite Henry?Wesley Dennis? Marguerite Henry Misty of Chincoteague, Justin Morgan Had a Horse, King of the Wind Marguerite Henry?Wesley Dennis? Life Outside The Cocoon Daily Thoughts For Life Dennis Shelia King? The No-Go King Exodus 5-15 (The Exodus) Mary Manz Simon?Dennis Jones? King of the Wind (Marguerite Henry Summer Kidspicks 2001) Marguerite Henry?Wesley Dennis? Get the Facts on Anyone Dennis King Babe The Funniest Pig in the World (Random House Pictureback Shape Book) Shana Corey?Dick King-Smith?Dennis Hockerman? King of the Wind The Story Of The Godolphin Arabian Marguerite Henry?Wesley Dennis? King of the Wind (Aladdin Fiction) Marguerite Henry?Wesley Dennis? Hegel and Contemporary Continental Philosophy (Hegelian Studies) Dennis King Keenan? King of the Wind Marguerite Henry?Wesley Dennis? The King of Torts John Grisham?Dennis Boutsikaris? Darling Georgie The Enigma of King George V Dennis Friedman? Death and Responsibility The "Work" of Levinas (Suny Series in Contemporary Continental Philosophy) Dennis King Keenan? Kings and Queens (Hotshots Series) Philippa Wingate?Peter Dennis?John Fox?Ian Jackson?Colin King?Rodney Matthews?Simon Roulstone?Sue Stitt?Ross Watton? Understanding Urban Unrest From Reverend King to Rodney King Dennis E. Gale? Death and Responsibility The "Work" of Levinas (S U N Y Series in Contemporary Continental Philosophy) Dennis King Keenan? Indian And European Contact In Context The Mid-Atlantic Region Dennis B. Blanton?Julia A. King? The Strategy Gap Leveraging Information Technology to Create and Execute Winning Strategies Brian Hartlen?Dennis Ganster?David King?Michael Coveney? Hegel and Contemporary Continental Philosophy (Suny Series in Contemporary Continental Philosophy) Dennis King Keenan? Art of Modern Rock 2008 Calendar Dennis King The Adventures of King Arthur (Young Reading, 2) Angela Wilkes?Gill Harvey?Peter Dennis? The Papers of General Nathanael Greene 11 July 1781-2 December 1781 (Papers of General Nathanael Greene) Nathanael Greene?Richard K. Showman?Dennis Michael Conrad?Rhode Island Historical Society?Martha J. King?Roger N. Parks? Get the Facts on Anyone (Get the Facts on Anyone) Dennis King Real-World Readings in Art Education Things Your Professor Never Told You (Garland Reference Library of Social Science) Dennis E. Fehr?Kris King?Karen Keifer-Boyd? Get the Facts on Anyone (2nd ed) Dennis King King of the Wind Marguerite Henry?Wesley Dennis? Cards of Identity (King Penguin) Nigel Forbes Dennis? Electronic Commerce 2004 A Managerial Perspective David King?Jae Lee?Dennis Viehland?Efraim Turban? Arthur, King Dennis Lee Anderson? King Solomon's Mines (Oxford World's Classics) H. Rider Haggard?Dennis Butts? The Question Of Sacrifice (Studies in Continental Thought) Dennis King Keenan? King Solomon's Mines (Worlds Classics) H. Rider Haggard?Dennis Butts? Varanoid Lizards of the World Eric R. Pianka?Dennis KingRuth Allen King? Dutch Dictionary (Teach Yourself Languages) Peter King?Margaretha King?Gerdi Quist?Dennis Strik? The Question Of Sacrifice (Studies in Continental Thought) Dennis King Keenan? Graph Theory and Topology in Chemistry (Studies in Physical and Theoretical Chemistry) R. Bruce King?Dennis H. Rouvray? Lyndon Larouche and the New American Fascism Dennis King Goannas The Biology of Varanid Lizards (Australian Natural History Series) Dennis KingBrian Green? The King Of Torts (John Grishham) John Grisham?Dennis Boutsikaris? The Papers of General Nathanael Greene 30 March-10 July 1781 (Papers of General Nathanael Greene) Richard K. Showman?Nathanael Greene?Dennis Michael Conrad?Rhode Island Historical Society?Roger N. Parks?Martha J. King? Man Who Killed the King Dennis Wheatley? The Periodic Table Into the 21st Century R. Bruce King?Dennis H. Rouvray? Man Who Killed the King Dennis Wheatley? Reef Fishes and Corals Dennis King Chasing The Devil My Twenty-year Quest To Capture The Green River Killer Including a conversation with the author featuring excerpts from Sheriff Reichert's interview Sheriff David Reichert?David Reichert?Dennis Boutsikaris? Understanding Urban Unrest From Reverend King to Rodney King Dennis E. Gale? BTEC First Travel and Tourism Assessment and Delivery Resource Andrew Kerr?Christine King?Dennis Brombley?Malcolm Jeffries? Libro De LA Monteria Based on Escorial MS Y.Ii.19 (Spanish Series (Hispanic Seminary of Medieval Studies), No. 8.) Alfonso?King of Castile and Leon Alfonso XI?Dennis P. Seniff?Escorial Real Biblioteca? Pierre Et Marianne Dennis KingEdith Reid? Das Ende der Verschwendung. Club of Rome Dennis Gabor?Umberto Colombo?Alexander. King?Eduard. Pestel? Das Ende der Verschwendung. Club of Rome. Zur materiellen Lage der Menschheit Dennis Gabor?Umberto Colombo?Alexander King?Eduard Pestel? Statistical Quality Control Using the SAS (R) System Dennis W., Ph.D. King? Pierre Et Marianne Dennis KingEdith Reid? Fight Back How You and Your Neighbours Can Take Action to Improve Your Community Dennis King King of the Wind Deluxe Edition Joseph D. Landes?Marguerite Henry?Wesley Dennis? Der Original King- Kong Dennis W. Lovelace? Pierre Et Marianne Dennis KingEdith Reid? Pierre Et Marianne Dennis KingEdith Reid? Alexander the Great The Legend of a Warrior King (Dk Discoveries) Peter Chrisp?Peter Dennis? Kaas Hunting (Kipling, Rudyard, World of Jungle Books. Set 2.) Rudyard Kipling?Christopher King?Dennis Woodyard?
https://w.atwiki.jp/oper/pages/92.html
第1幕 前奏曲と第1場 ジークムントとジークリンデ (家の中。中央には巨大なトネリコの幹があり、その太く盛り上がった根は地中深くまで突き刺さっている。木のこずえは造作された屋根によって隔てられているが、屋根には隙間が空いていて、幹はそこを通り抜け、枝もあらゆる方向に向かって屋根を通り抜けて伸びている。木のこずえには葉が茂っているので、トネリコは屋根を越えて広がっていることがわかる。トネリコの幹の周りには居間がこしらえられているが、その壁は荒削りの板で作られており、ところどころ手編み手織りの壁掛けが掛けられている。舞台の右手前方にはかまどがあり、排気口は舞台脇の屋根へとつながっている。かまどの後ろには寝室がある。さらに木の階段を数段昇っていったところに納屋があるが、その前には半分まくれあがった編み壁掛けが掛けてある。舞台後方には簡素な木製のかんぬきが付いた正面扉がある。舞台左手では、同じように階段を昇っていくと、個室へとつながる扉がある。舞台左手前方にはテーブルが置いてあるが、その後ろ側には壁に沿って幅広のベンチが、手前には木製の丸椅子が数脚置かれている) (嵐のように激動するオーケストラ前奏曲が始まる。幕が開くと、ジークムントが正面扉を開けて勢いよく中に入ってくる。夕暮れどきで、激しい嵐はようやく収まろうとしている。ジークムントはかんぬきを握ったまま一瞬、室内を見渡す。彼は激しい緊張のために疲れ切っているように見える。衣装と外見の様子からは彼が逃避行にあることがうかがえる。室内に誰もいないことを確認すると、彼は扉を閉め、かまどのそばへと歩み寄ると、力尽きて熊の毛皮の敷物の上に身を投げる) ジークムント いったい誰の家だ?でも、とにかく休まねば。 (気を失って背後にあおむけに倒れると、しばらく身じろぎもせずに横たわっている。ジークリンデが寝室から出てくる。彼女は夫が帰ってきたものとばかり思っていたが、かまどの前に見知らぬ男が寝ているのを見て、心底驚いた表情を見せる) ジークリンデ (舞台の奥に立ったまま) 見知らぬ男の人だわ?声をかけてみなくては・・・。 (心を落ち着かせながら少しずつ近づく) どなたです?我が家のかまどの前で寝ているのは? (ジークムントが動かないので、さらに数歩近づき、しげしげとその顔を見つめる) 旅路に疲れて、ぐったりしているわ。 気を失っているの?意識がないの? (ジークムントに顔を近づけ、聞き耳を立てる) 息はあるわ・・・ 目を閉じているだけのよう・・・ 今は疲れて寝ているけれど、本当は強い男の人みたい。 ジークムント (いきなりがばっと顔をあげる) 水!水を! ジークリンデ 冷たい水ね。持ってくるわ。 (牛の角から造った盃を素早く手に取り、それを持って家を出て行く。戻ってくると、なみなみと満たした盃をジークムントに手渡す) 渇いた喉をうるおしてください・・・ 水よ・・・どうぞお好きなだけ。 (飲み終わったジークムントは盃をジークリンデに返す。頭を上げて感謝の気持ちを表した時、その眼は彼女の顔に次第に強く吸い寄せられていく) ジークムント 冷たい水が喉をうるおし、 疲れを取り去ってくれました。 気分がよくなって、 見る楽しみが戻ってきました。 私を癒してくれたあなたのお名前は? ジークリンデ この屋敷も、私も、フンディングのものよ…。主人はあなたを客と認めるかしら?でも帰るまではここで休んでください! ジークムント 私は丸腰なのですよ・・・ ご主人がこんな傷ついた男を拒むとでも? ジークリンデ (心配そうに、あわてふためき) 傷ですって?早く見せて! ジークムント (否定するように手を振り、 勢いよく上半身を起こしながら) いいえ、たいした傷ではありません・・・ まだ腕も足もしっかりついていますしね。 もし盾や槍が、せめて私の腕力の半分でも 私を守ってくれていたならば、 決して敵に背後を見せることもなかったでしょう。 ところが、盾も槍も砕けてしまった。 敵の群れは私を散々追いまわし、 激しい嵐が私を打ち砕いたのです。 ですが、敵から逃れたのと同じぐらい早く、 私の疲れは消え去りました。 まぶたには夜が覆いかぶさっていたはずなのに、 今は新たな太陽が微笑みかけているのですから。 ジークリンデ (酒蔵に行き、牛の角で造った盃を蜜酒で満たし、生き生きと親しみを込めてジークムントに手渡す) こんな泡だらけの甘酒しかありませんが、 あなたのお口に合いますでしょうか。 ジークムント まずあなたが味見していただけますか? (ジークリンデは盃に口をつけて酒をすすり、ジークムントに手渡す。ジークムントは、ますます熱を込めてジークリンデを見つめながら、ゆっくりと酒を飲み干す。盃から口を放し、ゆっくりとその手をおろすと、ジークムントの表情は激しく心を揺さぶられたような変化を見せる。しかし彼は深いため息をつき、視線を暗く床に落とす) ジークムント (ふるえる声で) あなたが傷を治してくれた男は不幸な男・・・ その不幸を、あなたにまで近づけるわけにはいきません! (急いで立ち去ろうとする) 私は十分休息をとりました。 もう行かねばなりません。 (舞台後方へと向かう) ジークリンデ (勢いよくジークムントに振り返って) 誰が追ってくるというの? ジークムント (ジークリンデの叫び声にとらえられて、もう一度振り向くと、ゆっくりと陰鬱に) 不幸が追ってきます・・・どこへ逃げても。 不幸がやってきます・・・どこにいようとも・・・ ですが、あなたには不幸を近づけたくない! 早く立ち去らねば。もうお目にかかることのないように。 (素早く扉へと走り、かんぬきを持ち上げる) ジークリンデ (我を失って、ジークムントの背中に向けて激しく呼びかける)それなら、ここにいてください! 不幸を持ちこむことなどできません。 もともと不幸が居ついているこの家に! (ジークムントは心に激しい衝撃を受けて立ち止まり、ジークリンデの表情から何かを読み取ろうとするが、彼女は恥じいって悲しげに目を落とす。長い沈黙の時が続く) ジークムント (舞台前方に引き返しながら) ヴェーヴァルト(悲しみの男)・・・かつて私は自らそう名乗りました。ここでフンディングをお待ちしましょう。 (かまどに寄りかかったジークムントの視線は、静かなうちにも意を決したような想いを込めてジークリンデに注がれ、ジークリンデも再びゆっくりと目を上げる。二人はずっと沈黙したまま、無上の感動にとらえられたような表情で互いに見つめ合う) 第2場 (ジークムント、ジークリンデとフンディング) (ジークリンデは突然立ち上がり耳をすますと、屋外の小屋に馬をつけるフンディングの声を聞く。彼女は正面玄関に急いで走っていき、扉を開けると、槍と盾とで武装したフンディングが広間に入ってきて、ジークムントの姿に気づくと扉のところで立ち止まる。フンディングは、厳しく問いただすような目つきで、ジークリンデを見つめる) ジークリンデ (フンディングの視線に応えるように) この人は疲れ切ってかまどの前に横たわっていました。 苦境に陥って我が家にたどりついたのですわ。 フンディング 傷を治してやったのか? ジークリンデ 喉をうるおしてあげただけ。客としてのおもてなしをしただけです! ジークムント (落ち着いて、しっかりとフンディングを見すえて) ひさしをお借りして、飲み物をいただきました。 それだけのことで奥様をお叱りになるのですか? フンディング 我が家のかまどは聖なるかまど・・・ おぬしにとっても、我が家が聖なるものであるように! (武具を外してジークリンデに手渡す。 彼女に向かって) 客と亭主に、食事の支度をしろ! (ジークリンデは武具をトネリコの木の枝に懸けて、納屋から食べ物と飲み物を取出し、テーブルに夕食を用意する。彼女は無意識のうちに再びジークムントの顔を見る。 フンディングは、いぶかしげな鋭い視線をジークムントの顔に向けると、ジークリンデと見比べながら独り言を言う) こいつ・・・やけに、うちの奴に似ているぞ! 目から蛇のようなものが、 ぎらぎら光っている。 (疑惑の念を押し隠し、何も気にしていないような様子でジークムントに向きなおる) なるほど、ずいぶん遠いところから来たようだな・・・ 馬に乗っていたわけでもないのに、ここで休息をとるのだから・・・いったい、どんな悪路に悩まされたのだ? ジークムント 森と野原を越えてきましたが、 ずっと嵐と危険に追われていたので、 どの道を通ってきたのかは、わかりません。 どこに迷い込んだのかは、尚更のこと。 教えていただければ嬉しいのですが。 フンディング (テーブルにつくと、ジークムントにも椅子をすすめる) おぬしを守る屋根と家・・・ その持ち主はフンディングだ。 ここから西へ向かえば フンディングに忠誠を捧げる 一族郎党の家がたくさんある。 さあ、客人よ・・・ おぬしの名前も教えてもらえるかな? (テーブルについたジークムントは物思いにふけるように前方をみつめる。フンディングと同時にジークムントの反対側に腰を下ろしたジークリンデは、はた目にもそれと分かる関心を示して、緊張してジークムントの様子を見つめる) フンディング (二人の様子をじっと観察しながら) このわしには教えられないというのなら、 妻には教えてもらえぬか? どうやら聞きたくてたまらぬようだ! ジークリンデ (気後れせずに、共感の気持ちをあふれさせて) あなたが誰なのか知りたいのです。 ジークムント (目をあげてジークリンデの眼を見つめながら、真剣に語り始める)フリートムント(平和を守る男)とは申せません。 できることならフローヴァルト(喜びの男)でありたいのに、 ヴェーヴァルト(悲しみの男)と名乗らねばならないのです。 ヴォルフェという名の父親から 私は双子として生まれました。 双子の妹と私です。 ですが、物心つかぬうちに、母と妹はいなくなりました。 生んだ母の顔も、いっしょに生まれた妹の顔も、 ほとんど覚えていないのです。 ヴォルフェは強い戦士でしたが、 敵がたくさんいました。 父は息子の私と狩りに出ましたが、 狩りの一団と別れて急いで帰ってきてみると、 ヴォルフェの家は空っぽでした。 豪華な広間は燃やされて瓦礫となり、 樫の木は切り倒されて切株となり、 母は打ち殺されて横たわり、 妹の姿は炎の中に消えていました。 これはナイディング一族の 手酷い仕業だったのです。 父は家を追われて私を連れて逃げ、 私は何年もの間、 深い森の中で父ヴォルフェと暮らしました。 森には何度も捜索の手が及びましたが、 ヴォルフェの親子は勇敢に身を守ったのです。 (フンディングに向かって) 今あなたに向かって語る私は、ヴェルフィング族。 人に「狼の一族」と呼ばれるヴェルフィングなのです。 フンディング 客人よ・・・なんという異様な話だ。 ヴェーヴァルト・・・ヴェルフィング族の男子! 確かその強い親子について、 わしは、おそろしい噂を聞いたことがある。 ヴォルフェやヴェルフィングには会ったこともないが。 ジークリンデ お客様・・・もう少し教えてください。 あなたのお父様は今どちらにいらっしゃるのです? ジークムント ナイディング族は大規模な捜索を森に仕掛けましたが、 彼らの多くは、狼に殺されたり、 獣に追われたりして、 森から退散しました。 私たちの敵は散り散りになったのです。 ですが、その時、私は父のもとから引き離され、 探しても探しても、父の足跡は見つかりませんでした。 ただひとつだけ、狼の毛皮を 森の中で見つけたのですが、 毛皮の下は空っぽで、父は見つかりませんでした。 そして、その後、私は森にいられなくなり、 世間の男たち女たちと知り合うことになりました。 しかし、いくら多くの人と出会っても、どこで出会っても、 友だちを作りたくても、恋人を手に入れようとしても、 いつも私はつまはじき・・・ 不幸がこの身にまとわりついていたのです。 私が正しいと考えたことが、人には悪いことに思え、 よくないと思えたことが、 人には好ましいことだったのです。 私は、この世のあらゆる場所で不和を巻き起こし、 行く先々で怒りを呼び起こし、 喜びを求めているはずなのに、悲しみしかもたらさない。 それゆえ、悲しみの男(ヴェーヴァルト)と名乗るしかなかったのです。この身は、悲しみしかもたらさないのですから。 (ジークリンデに向けて顔を上げると、 共感に満ちた眼差しに出会う) フンディング そんなにも悲惨な運命に定められたとは、よほどおぬしは、 運命の女神ノルンたちに愛されていないのだろう。 そんな男が見知らぬ客として訪れても、 誰一人歓迎するはずがないではないか。 ジークリンデ ひとりぼっちの丸腰の男を怖がるなんて、卑怯者だけですわ! さあ、お客様、話してください。 あなたが戦いで武器さえ失ってしまったいきさつを! ジークムント (ますます熱を込めて) ある娘が泣いて私に助けを求めました。 彼女の一族の者たちが、 愛もないのに、ある男と結婚させようとしていたのです。 私は彼女を守ろうと、強制的な結婚に逆らい、 押し寄せてくる縁者たちと戦い、 敵に勝利しました。 しかし彼女の兄弟たちは打ち殺されて、 娘の周りに横たわり、 娘は悲しみのあまり怒りを忘れるほどでした。 死の衝撃で、目から涙をほとばしらせて、 哀れな花嫁は 兄弟たちの死を嘆き悲しみました。 すると、一族の者たちが、また殺到して、 ものすごい勢いで復讐を叫び、 私の周りは敵でいっぱいになりました。 結局、娘が死をまぬがれることはできなかったのです・・・ 私はずっと槍と盾とで彼女をかばいましたが、 軍勢に囲まれて、どちらも砕けてしまいました。 私は傷を負い、武器もないまま その娘の死んでいく姿を見ていました。 荒れ狂う軍勢は私を追いかけまわし、 娘は兄弟たちの亡きがらの上にくずおれました。 (苦悩の炎を目に燃やしながら ジークリンデを見つめる) もうお分かりでしょう・・・奥様・・・私が 「平和を守る男」(フリートムント)と名乗らないわけを! (ジークムントは立ち上がり、かまどのほうへと歩いていく。ジークリンデは青ざめながらも、深く心を揺さぶられて床に目を落とす) フンディング (立ち上がり、きわめて重苦しい声で) わしは野蛮な一族を知っている。 他の一族にとって神聖なことが、その一族にとっては神聖でないのだ。彼らは、他のすべての者にとってと同様、 わしにとっても憎むべき者たちだ。 わしは、戦の召集を受け、 一族の流した血の復讐をしに行った。 ところが、夜遅く家に帰ってみれば、 逃げてしまった無法者が、 ほかならぬ我が家で見つかるとは・・・。 (ジークムントに近づきながら) ヴェルフィングよ。今日は我が家に置いてやろう。 ここで夜を明かすがよい。 だが明日は強力な武器で身を守るがいい。 わしは明日を戦いの日と決めたのだ。 おぬしは死者の償いをせねばならぬ。 (ジークリンデは心配そうな身振りで進み出て、 二人の間に割って入る) フンディング (無愛想に) さっさと出ていけ!ぐずぐずするな! 寝酒を用意して、 寝室でわしを待っていろ。 (ジークリンデは、意を決しかねるように物思いにふけりながら、しばし立ちすくんでいたが、やがてためらうような足取りで、ゆっくりと納屋に向かう。もう一度立ち止まると、物思いのあまり放心したように、顔を半ばそむけ、横顔だけをこちらに向けたまま立ちすくむ。だが、やがて意を決したように落ち着いて戸棚を開けると、酒杯に酒を満たし、小さな容器に入った粉薬をその中に振りかける。 そうしてからジークリンデはジークムントに目をやると、それまでずっと彼女に向けられていたジークムントの眼差しと出会うが、フンディングが様子を窺っていることに気づくと、すぐ寝室へと向かう。しかし、彼女は階段でもう一度だけ振り向くと、憧れのこもった眼差しでジークムントを見つめ、その眼差しで語りかけるように、しばらくトネリコの幹の一点を凝視する。だがフンディングが荒々しく身を起こし、激しい身振りでジークリンデを追い払うので、彼女はジークムントに最後の一瞥を与えて寝室に向かい、部屋の扉を閉める) フンディング (木の幹に懸けてあった自分の武具を取る) 男は、武器をもって戦うものだ。 (退場しながらジークムントに向かって) ヴェルフィングよ。また明日会おう。 意味が分かるな?せいぜい気をつけろということだ! (武具を持ったまま寝室に入る。部屋の中から閂が下ろされる音が聞こえてくる) 第3場 (ジークムント、ジークリンデ) (ジークムントひとり。すっかり夜になってしまい、室内はかまどの弱い炎によって、かろうじて照らされている。ジークムントは炎の近くの寝床に腰を下ろし、心は激しく興奮しつつも、黙り込んで前方を見つめている) ジークムント 父さんが話していた剣・・・ 最大の危機に直面したときに見つかる剣。 今ぼくは丸腰で敵の家にいて、 復讐のかたに取られて、ここにとどまっている・・・。 美しく気高い女性をぼくは見た。 心は歓喜と不安におののいている。 あの女性は、ぼくの心にあこがれを呼び覚まし、 甘い魔法でぼくを引き寄せる・・・ なのに、よりによってその女性を、ぼくを無力と嘲笑うあの男が自分の意のままとしているなんて! ヴェルゼよ!ヴェルゼ!あなたの剣はどこにあるのだ? 強き剣。 嵐の中で振るう剣。 その剣は、ぼくの胸の中から現れないのか? この荒れ狂う心の思いが剣とはならないのか? (急にかまどの火がはじけ、噴き出す炎から現れるどぎつい光が、突然トネリコの幹の一点を照らし出す。前にジークリンデが目で示していたその場所に、剣のつかが刺さっているのがはっきりと見える) あそこでちらちらしている赤い光はなんだ? トネリコの木から、どうしてあんな光が? 目が見えない人にも届くほどの輝き・・・ 楽しく笑いかけるような眼差し・・・ ああ、なんと心を気高く燃やす光だ! もしかしたら、これは あの花のような女性が去った時、 部屋に残していった眼差しの光だろうか? (この時から、かまどの火は次第に弱まっていく) 夜の闇が目を覆ったとき、 あの女性の眼差しがぼくに触れ、 ぼくは、ぬくもりと光をこの手にした。 あの人の輝きは、太陽のように燦々と輝いて、 ぼくを頭上から光で満たし、 山の向こうに沈んでいった。 (一瞬、炎の残照が弱く映える) 去って行ってからも、もう一度、 あの人の光は夕映えのように輝き、 古いトネリコの木さえも 金色に燃えた。 だが、今や花はしぼみ、光は消え、 夜の闇が目を覆っている。 炎はもはや光を失い、この胸の奥に残るだけ・・・。 (炎はすっかり消えてしまい、闇夜になる。隣の部屋の扉が静かに開くと、白い服を身にまとったジークリンデが現れ、音を立てずに、急いでかまどの方へと歩み寄る) ジークリンデ お客様・・・寝ておいでですか? ジークムント (嬉しい不意打ちに飛び起きながら) ここに来られるとは・・・どなたです? ジークリンデ (いわくありげにあわただしく) 私です・・・聞いてください! フンディングはぐっすり寝ています。 私が眠り薬を与えたのです。 今夜あなたが幸運を手にしますように! ジークムント (興奮して話をさえぎる) あなたが来てくれただけで十分幸運ですよ! ジークリンデ 武器のありかを教えます・・・ああ、もしあなたが手に入れれば! 最高の勇士とお呼びしますわ・・・ 最強の人にのみ与えられる武器なのですから。 さあ・・・私の言うことをよく聞いてください! 一族の男たちが、この部屋に集まって フンディングの婚礼を祝っていました。 強盗たちが人目もはばからず贈り物とした娘を フンディングは妻としたのです。 彼らが酒盛りをしている間、私は悲しく座っていたのですが、 そのとき、見知らぬ人が入ってきました。 それは、青い衣装を身にまとった白髪の老人で、 帽子を目深にかぶって、 片目を隠していました。 ですが、残りの目の光だけでも男たち全員を不安にさせ、 恐れおののかせるのに十分でしたが、 その瞳は、なぜか私にだけは、 甘い憧れにみちた悲しみと、 涙と慰めとを同時に与えてくれるようでした。 老人は私を見つめたあと、男たちをじろりと見やると、 一振りの剣を手につかみ、 トネリコの幹に、 つかまで深く突き刺しました。 これを幹から引き抜くことができる者にこそ この剣はふさわしいのだと言い残して・・・。 しかし、並み居る男たちが、どんなに頑張っても、 誰も手に入れることはできませんでした。 男たちが何人も出たり入ったりして、 最強と自負する者たちが剣を引き抜こうとしましたが、 誰一人、報われることはありませんでした。 剣は、何事もなかったように、幹に突き刺さったままなのです・・・。ですが・・・いま私にはわかりました。 悲しんでいる私に会いにきてくれたあの人が誰だったのか。 誰のために剣を木に刺したのか。 ああ・・・私は今ここで友に会いたいのです・・・ 哀れな私のために、遠い国からやってくる友に。 そうすれば、ずっと苦しみ悩んできたことが、 辱められた心の痛みが、 すべて甘美な復讐へと変わるのです! 失ったものを再びつかみ、 なくして泣いていたものを、この手に取り戻したいのです。 神聖な友を見つけ、 その勇士をこの手に抱きたいのです! ジークムント (燃えるような情熱でジークリンデを抱きしめながら) その友は、今あなたを抱いていますよ・・・ 武器と妻とを与えられる友は! あなたという素晴らしい女性を妻にしようとの誓いが 私の胸に熱く燃えています。 かつて憧れたものは、あなたの中にあり、 かつて失ったものを、あなたの中に見つけたのです! あなたが苦しむとき 私もまた心を痛め、 私が嘲られるとき、あなたもともに傷つくのです・・・ なんと喜ばしい復讐が微笑みかけてくるのでしょう! 私はいま聖なる歓びに満ちて高らかに笑い、 気高いあなたをこの手に抱きしめ、 あなたの胸の鼓動を感じているのです! (大きな扉が突然バタンと開く) ジークリンデ (驚いてすくみあがり、身をもぎ離す) えっ、誰なの?誰が来たの? (扉は広く開け放たれ、屋外には素晴らしい春の夜が広がっている。満月の光が上から射し込み、明るい光で二人を照らすと、二人は突然、互いの姿を一点の曇りもなく認め合う) ジークムント (静かに感動しながら) いいえ、誰も・・・。ですが一人だけ来た者がいます。 ご覧なさい。この部屋に射し込む春の微笑みを! (ジークムントは、力強くやさしくジークリンデを寝床に引き寄せ、ジークリンデは彼の隣に腰をおろす。月明かりは神々しさを増していく) 冬の嵐は、 歓びの月の前に消え去った。 春はおだやかに光りかがやき、 やわらかな風に乗りながら、軽やかに愛らしく 奇蹟を織りなしながら揺れていく。 森と野原に息を吹きかけ、 まなこを見開いて笑いかける。 甘い小鳥の歌を歌い、 心地よい香りを放つ。 温かな血のぬくもりで、よろこびの花を咲かせ、 力を与えて新芽を吹かせる。 優美な力で、この世をつかさどり、 冬も嵐も、その強い力の前には消え去る。 春の一撃の前には、 ぼくらを春から引き離していた どんな頑丈な扉も開かずにはいられなかった・・・。 春は、その妹である愛のもとに舞い込みましたが、 愛こそが、春を誘ったのです・・・ ぼくたちの心の奥深くにあったものが、 いまはじめて光を浴びて微笑んでいるのです。 春という兄が、愛という妹を花嫁とし、 二人を離れ離れにしていたものは打ち砕かれました。 若者は、歓喜とともに結ばれ、 春と愛とは一つになったのです! ジークリンデ あなたこそ春・・・私は待っていた・・・ 凍りつくような冬の間じゅうずっと。 心は聖なるおののきとともに、あなたを受け入れた・・・ あなたの瞳がはじめて私に向けられたとき。 今までは、すべてが見知らぬことばかりで、 身近には悲しいことしかなかった。 何が起こっても、 私にはわからないことだらけだった。 でも、はっきりとわかったの・・・あなたのことは。 私があなたを見つめたとき、 あなたはもう私のものだった。 心の奥深くに秘めていた私自身が 朝の陽ざしのようにまぶしく浮かび上がり・・・ ああ・・・鳴りわたる響きとなって、私の耳に届いたの。 見知らぬものばかりの凍てつく荒野で、 私がはじめて友を見い出したとき。 (ジークリンデは我を失ったようにジークムントの首に腕を巻きつけ、近くから彼の顔を見つめる) ジークムント (心を奪われたように) ああ・・・甘い歓び! すばらしいひと! ジークリンデ (まじかにジークムントの目を見つめる) ああ・・・もっと近くに行かせて・・・ 気高い光をはっきり見たいの・・・ あなたの顔と瞳から現れ出る 五感を甘く酔わせる光を。 ジークムント 春の月光を浴びて輝きながら あなたの髪は気高く波打っている。 私を惹きつけるものの正体が今はっきりとしました。 私は、美を目の前にする歓びに浸っているのですから。 ジークリンデ (ジークムントの額から髪をかきあげ、驚きを込めて彼の顔をしげしげと見つめる) あなたの額はなんと広く、 いくつもの血管がこめかみに集まっていることでしょう! 歓びのあまり、ふるえがとまらない! 奇蹟のような声が私の記憶を呼び起こす・・・ 今日はじめて目にしたはずのこの人は、 もうすでに会ったことのある人だ・・・と! ジークムント 私にも、愛の夢が思い起こさせるのです・・・ 熱い憧れとともに、かつて私があなたの姿を見ていたことを! ジークリンデ いつか小川に映した自分の姿・・・ それを今また見ています。 そのとき川面に浮かび上がった私自身の姿・・・ それが今目の前にいるあなたなのです! ジークムント あなたこそ 私が胸に秘めていた姿。 ジークリンデ (急いで視線をそらしながら) ねえ、静かに!声を聞かせて・・・ まるで、子供の頃に 聞いたような響きだわ。 (いらだって) いいえ、そんなはずは!このまえ聞いただけだわ・・・ 私の声が 森にこだましたあのとき・・・ ジークムント ああ・・・なんと美しい音・・・ 私がいま聞いている声! ジークリンデ (再びジークムントの瞳をのぞきこんで) あなたの目に燃える炎を見るのも初めてじゃないわ・・・ これは、あの老人が私を親しげに見つめ、 悲しんでいた私を慰めてくれた時に見た眼差し。 そのおかげで、私はあの老人の子だと気付いた・・・。 もう少しで名前で呼びかけそうなところだった! (ジークリンデはいったん話をやめ、そのあと小声で続ける) あなたの名前は本当にヴェーヴァルトなの? ジークムント あなたの愛をうけたからには、もうそうは名乗りません・・・ 私はいま最高の歓びを手にしているのですから! ジークリンデ ですがフリートムントと 名乗ることもできないのでしょう? ジークムント あなたが好きな名をつけてくれれば、私はそう名乗りましょう。あなたに名付けてもらいたいのです! ジークリンデ たしか、お父様の名はヴォルフェでしたね? ジークムント 臆病なキツネどもにとってはオオカミ(ヴォルフ)だったでしょう!ですが、その目の輝きは、オオカミではなく、 あなたという素晴らしい女性の目と同じでした。 父の本当の名・・・それはヴェルゼです。 ジークリンデ (我を失って) ヴェルゼがあなたの父親で、あなたがヴェルズング族ならば、 あの老人は、まさにあなたのために、木に剣を刺したのです。 私の愛の証として、私にあなたの名を付けさせてください・・・ジークムント・・・私はあなたをそう名付けます! ジークムント (木の幹におどりかかって、剣のつかをつかむ) 我が名はジークムント!ジークムントこそ私! 剣よ、証人となれ!ひるまずに、お前をこの手にするのは私だ!かつてヴェルゼは言った。最大の危機に陥ったとき、 お前は剣を手に入れるだろう・・・と。今こそその時だ! 神聖なる愛の最大の危機(ノート)・・・ 危機は、愛の憧れを私の心にかきたて、 あかあかと胸に燃え広がりながら、 行動するのだ、死ぬのだと、私に迫ってくる・・・ ノートゥング!ノートゥング!これがお前の名だ、剣よ・・・ ノートゥング!ノートゥング!誰もがうらやむ剣よ! 切っ先鋭い刃を見せよ! 鞘から姿を現すのだ! (恐ろしい力で一息に剣を幹から引き抜くと、驚きと歓喜のうちにあるジークリンデに、その剣を見せる) さあ、ヴェルズング族のジークムントをご覧ください! この剣を婚礼の贈り物とし、 我が妻に選んだ最高の女性であるあなたを 敵の家から奪い去るのは、 このジークムントなのです。 私とともに、ここから遠く離れた場所に行きましょう。 春が微笑む屋敷に行きましょう・・・ そこでは、ノートゥングがあなたを守ります。 ジークムントがあなたへの愛に生きる限り! (ジークリンデを抱きしめ、手を取ってその場を立ち去ろうとする) ジークリンデ (最高の陶酔に浸りながらも、ジークムントから身を離し、彼と真正面から向き合う) 私の目の前にいるあなたがジークムントなら、 あなたを求める私はジークリンデ・・・ あなたは、実の妹と 剣とを一挙に手に入れたのです! ジークムント あなたは妻にして妹・・・私は兄・・・ 栄えよ!ヴェルズング族の血よ! (ジークムントは狂おしいばかりの情熱でジークリンデを抱き、彼女は大きく声を上げて彼の胸に顔を沈める。幕が素早く下りる) ERSTER AUFZUG VORSPIEL UND ERSTE SZENE Siegmund, Sieglinde Das Innere eines Wohnraumes. In der Mitte steht der Stamm einer mächtigen Esche, dessen stark erhabene Wurzeln sich weithin in den Erdboden verlieren; von seinem Wipfel ist der Baum durch ein gezimmertes Dach geschieden, welches so durchschnitten ist, dass der Stamm und die nach allen Seiten hin sich ausstreckenden Äste durch genau entsprechende Öffnungen hindurchgehen; von dem belaubten Wipfel wird angenommen, dass er sich über dieses Dach ausbreite. Um den Eschenstamm, als Mittelpunkt, ist nun ein Saal gezimmert; die Wände sind aus roh behauenem Holzwerk, hier und da mit geflochtenen und gewebten Decken behangen. Rechts im Vordergrunde steht der Herd, dessen Rauchfang seitwärts zum Dache hinausführt hinter dem Herde befindet sich ein innerer Raum, gleich einem Vorratsspeicher, zu dem man auf einigen hölzernen Stufen hinaufsteigt davor hängt, halb zurückgeschlagen, eine geflochtene Decke. Im Hintergrunde eine Eingangstür mit schlichtem Holzriegel. Links die Tür zu einem inneren Gemache, zu dem gleichfalls Stufen hinaufführen; weiter vornen auf derselben Seite ein Tisch mit einer breiten, an der Wand angezimmerten Bank dahinter und hölzernen Schemeln davor Ein kurzes Orchestervorspiel von heftiger, stürmischer Bewegung leitet ein. Als der Vorhang aufgeht, öffnet Siegmund von aussen hastig die Eingangstür und tritt ein es ist gegen Abend, starkes Gewitter, im Begriff, sich zu legen. Siegmund hält einen Augenblick den Riegel in der Hand und überblickt den Wohnraum er scheint von übermässiger Anstrengung erschöpft; sein Gewand und Aussehen zeigen, dass er sich auf der Flucht befinde. Da er niemand gewahrt, schliesst er die Tür hinter sich, schreitet auf den Herd zu und wirft sich dort ermattet auf eine Decke von Bärenfell SIEGMUND Wes Herd dies auch sei, hier muss ich rasten. Er sinkt zurück und bleibt einige Zeit regungslos ausgestreckt. Sieglinde tritt aus der Tür des inneren Gemaches; sie glaubte ihren Mann heimgekehrt ihre ernste Miene zeigt sich dann verwundert, als sie einen Fremden am Herde ausgestreckt sieht SIEGLINDE noch im Hintergrunde Ein fremder Mann? Ihn muss ich fragen. Sie tritt ruhig einige Schritte näher Wer kam ins Haus und liegt dort am Herd? Da Siegmund sich nicht regt, tritt sie noch etwas näher und betrachtet ihn Müde liegt er, von Weges Müh n. Schwanden die Sinne ihm? Wäre er siech? Sie neigt sich zu ihm herab und lauscht Noch schwillt ihm der Atem; das Auge nur schloss er. - Mutig dünkt mich der Mann, sank er müd auch hin. SIEGMUND fährt jäh mit dem Haupt in die Höhe Ein Quell! Ein Quell! SIEGLINDE Erquickung schaff ich. Sie nimmt schnell ein Trinkhorn und geht damit aus dem Hause. Sie kommt zurück und reicht das gefüllte Trinkhorn Siegmund Labung biet ich dem lechzenden Gaumen Wasser, wie du gewollt. Siegmund trinkt und reicht ihr das Horn zurück. Als er ihr mit dem Haupte Dank zuwinkt, haftet sein Blick mit steigender Teilnahme an ihren Mienen SIEGMUND Kühlende Labung gab mir der Quell, des Müden Last machte er leicht erfrischt ist der Mut, das Aug erfreut des Sehens selige Lust. Wer ist s, der so mir es labt? SIEGLINDE Dies Haus und dies Weib sind Hundings Eigen; gastlich gönn er dir Rast harre, bis heim er kehrt! SIEGMUND Waffenlos bin ich dem wunden Gast wird dein Gatte nicht wehren. SIEGLINDE mit besorgter Hast Die Wunden weise mir schnell! SIEGMUND schüttelt sich und springt lebhaft vom Lager zum Sitz auf Gering sind sie, der Rede nicht wert; noch fügen des Leibes Glieder sich fest. Hätten halb so stark wie mein Arm Schild und Speer mir gehalten, nimmer floh ich dem Feind, doch zerschellten mir Speer und Schild. Der Feinde Meute hetzte mich müd , Gewitterbrunst brach meinen Leib; doch schneller, als ich der Meute, schwand die Müdigkeit mir sank auf die Lider mir Nacht; die Sonne lacht mir nun neu. SIEGLINDE geht nach dem Speicher, füllt ein Horn mit Met und reicht es Siegmund mit freundlicher Bewegtheit Des seimigen Metes süssen Trank mög st du mir nicht verschmähn. SIEGMUND Schmecktest du mir ihn zu? Sieglinde nippt am Horne und reicht es ihm wieder. Siegmund tut einen langen Zug, indem er den Blick mit wachsender Wärme auf sie heftet. Er setzt so das Horn ab und lässt es langsam sinken, während der Ausdruck seiner Miene in starke Ergriffenheit übergeht. Er seufzt tief auf und senkt den Blick düster zu Boden SIEGMUND mit bebender Stimme Einen Unseligen labtest du Unheil wende der Wunsch von dir! Er bricht schnell auf, um fortzugehen Gerastet hab ich und süss geruht. Weiter wend ich den Schritt. er geht nach hinten SIEGLINDE lebhaft sich umwendend Wer verfolgt dich, dass du schon fliehst? SIEGMUND von ihrem Rufe gefesselt, wendet sich wieder; langsam und düster Misswende folgt mir, wohin ich fliehe; Misswende naht mir, wo ich mich neige. - Dir, Frau, doch bleibe sie fern! Fort wend ich Fuss und Blick. Er schreitet schnell bis zur Tür und hebt den Riegel SIEGLINDE in heftigem Selbstvergessen ihm nachrufend So bleibe hier! Nicht bringst du Unheil dahin, wo Unheil im Hause wohnt! Siegmund bleibt tief erschüttert stehen; er forscht in Sieglindes Mienen; diese schlägt verschämt und traurig die Augen nieder. Langes Schweigen SIEGMUND kehrt zurück Wehwalt hiess ich mich selbst Hunding will ich erwarten. Er lehnt sich an den Herd; sein Blick haftet mit ruhiger und entschlossener Teilnahme an Sieglinde; diese hebt langsam das Auge wieder zu ihm auf. Beide blicken sich in langem Schweigen mit dem Ausdruck tiefster Ergriffenheit in die Augen ZWEITE SZENE Die Vorigen, Hunding Sieglinde fährt plötzlich auf, lauscht und hört Hunding, der sein Ross aussen zum Stall führt. Sie geht hastig zur Tür und öffnet; Hunding, gewaffnet mit Schild und Speer, tritt ein und hält unter der Tür, als er Siegmund gewahrt. Hunding wendet sich mit einem ernst fragenden Blick an Sieglinde SIEGLINDE dem Blicke Hundings entgegnend Müd am Herd fand ich den Mann Not führt ihn ins Haus. HUNDING Du labtest ihn? SIEGLINDE Den Gaumen letzt ich ihm, gastlich sorgt ich sein! SIEGMUND der ruhig und fest Hunding beobachtet Dach und Trank dank ich ihr willst du dein Weib drum schelten? HUNDING Heilig ist mein Herd - heilig sei dir mein Haus! er legt seine Waffen ab und übergibt sie Sieglinde. Zu Sieglinde Rüst uns Männern das Mahl! Sieglinde hängt die Waffen an Ästen des Eschenstammes auf, dann holt sie Speise und Trank aus dem Speicher und rüstet auf dem Tische das Nachtmahl. Unwillkürlich heftet sie wieder den Blick auf Siegmund. Hunding misst scharf und verwundert Siegmunds Züge, die er mit denen seiner Frau vergleicht; für sich Wie gleicht er dem Weibe! Der gleissende Wurm glänzt auch ihm aus dem Auge. er birgt sein Befremden und wendet sich wie unbefangen zu Siegmund Weit her, traun, kamst du des Wegs; ein Ross nicht ritt, der Rast hier fand welch schlimme Pfade schufen dir Pein? SIEGMUND Durch Wald und Wiese, Heide und Hain, jagte mich Sturm und starke Not nicht kenn ich den Weg, den ich kam. Wohin ich irrte, weiss ich noch minder Kunde gewänn ich des gern. HUNDING am Tische und Siegmund den Sitz bietend Des Dach dich deckt, des Haus dich hegt, Hunding heisst der Wirt; wendest von hier du nach West den Schritt, in Höfen reich hausen dort Sippen, die Hundings Ehre behüten. Gönnt mir Ehre mein Gast, wird sein Name nun mir gennant. Siegmund, der sich am Tisch niedergesetzt, blickt nachdenklich vor sich hin. Sieglinde, die sich neben Hunding, Siegmund gegenüber, gesetzt, heftet ihr Auge mit auffallender Teilnahme und Spannung auf diesen HUNDING der beide beobachtet Trägst du Sorge, mir zu vertraun, der Frau hier gib doch Kunde sieh, wie gierig sie dich frägt! SIEGLINDE unbefangen und teilnahmsvoll Gast, wer du bist, wüsst ich gern. SIEGMUND blickt auf, sieht ihr in das Auge und beginnt ernst Friedmund darf ich nicht heissen; Frohwalt möcht ich wohl sein doch Wehwalt musst ich mich nennen. Wolfe, der war mein Vater; zu zwei kam ich zur Welt, eine Zwillingsschwester und ich. Früh schwanden mir Mutter und Maid. Die mich gebar und die mit mir sie barg, kaum hab ich je sie gekannt. Wehrlich und stark war Wolfe; der Feinde wuchsen ihm viel. Zum Jagen zog mit dem Jungen der Alte Von Hetze und Harst einst kehrten wir heim da lag das Wolfsnest leer. Zu Schutt gebrannt der prangende Saal, zum Stumpf der Eiche blühender Stamm; erschlagen der Mutter mutiger Leib, verschwunden in Gluten der Schwester Spur uns schuf die herbe Not der Neidinge harte Schar. Geächtet floh der Alte mit mir; lange Jahre lebte der Junge mit Wolfe im wilden Wald manche Jagd ward auf sie gemacht; doch mutig wehrte das Wolfspaar sich. zu Hunding gewandt Ein Wölfing kündet dir das, den als "Wölfing" mancher wohl kennt. HUNDING Wunder und wilde Märe kündest du, kühner Gast, Wehwalt - der Wölfing! Mich dünkt, von dem wehrlichen Paar vernahm ich dunkle Sage, kannt ich auch Wolfe und Wölfing nicht. SIEGLINDE Doch weiter künde, Fremder wo weilt dein Vater jetzt? SIEGMUND Ein starkes Jagen auf uns stellten die Neidinge an der Jäger viele fielen den Wölfen, in Flucht durch den Wald trieb sie das Wild. Wie Spreu zerstob uns der Feind. Doch ward ich vom Vater versprengt; seine Spur verlor ich, je länger ich forschte eines Wolfes Fell nur traf ich im Forst; leer lag das vor mir, den Vater fand ich nicht. Aus dem Wald trieb es mich fort; mich drängt es zu Männern und Frauen. Wieviel ich traf, wo ich sie fand, ob ich um Freund , um Frauen warb, immer doch war ich geächtet Unheil lag auf mir. Was Rechtes je ich riet, andern dünkte es arg, was schlimm immer mir schien, andre gaben ihm Gunst. In Fehde fiel ich, wo ich mich fand, Zorn traf mich, wohin ich zog; gehrt ich nach Wonne, weckt ich nur Weh drum musst ich mich Wehwalt nennen; des Wehes waltet ich nur. Er sieht zu Sieglinde auf und gewahrt ihren teilnehmenden Blick HUNDING Die so leidig Los dir beschied, nicht liebte dich die Norn froh nicht grüsst dich der Mann, dem fremd als Gast du nahst. SIEGLINDE Feige nur fürchten den, der waffenlos einsam fährt! - Künde noch, Gast, wie du im Kampf zuletzt die Waffe verlorst! SIEGMUND immer lebhafter Ein trauriges Kind rief mich zum Trutz vermählen wollte der Magen Sippe dem Mann ohne Minne die Maid. Wider den Zwang zog ich zum Schutz, der Dränger Tross traf ich im Kampf dem Sieger sank der Feind. Erschlagen lagen die Brüder die Leichen umschlang da die Maid, den Grimm verjagt ihr der Gram. Mit wilder Tränen Flut betroff sie weinend die Wal um des Mordes der eignen Brüder klagte die unsel ge Braut. Der Erschlagnen Sippen stürmten daher; übermächtig ächzten nach Rache sie; rings um die Stätte ragten mir Feinde. Doch von der Wal wich nicht die Maid; mit Schild und Speer schirmt ich sie lang , bis Speer und Schild im Harst mir zerhaun. Wund und waffenlos stand ich - sterben sah ich die Maid mich hetzte das wütende Heer - auf den Leichen lag sie tot. mit einem Blicke voll schmerzlichen Feuers auf Sieglinde Nun weisst du, fragende Frau, warum ich Friedmund nicht heisse! Er steht auf und schreitet auf den Herd zu. Sieglinde blickt erbleichend und tief erschüttert zu Boden HUNDING erhebt sich, sehr finster Ich weiss ein wildes Geschlecht, nicht heilig ist ihm, was andern hehr verhasst ist es allen und mir. Zur Rache ward ich gerufen, Sühne zu nehmen für Sippenblut zu spät kam ich, und kehrte nun heim, des flücht gen Frevlers Spur im eignen Haus zu erspähn. - Er geht herab Mein Haus hütet, Wölfing, dich heut ; für die Nacht nahm ich dich auf; mit starker Waffe doch wehre dich morgen; zum Kampfe kies ich den Tag für Tote zahlst du mir Zoll. Sieglinde schreitet mit besorgter Gebärde zwischen die beiden Männer vor HUNDING barsch Fort aus dem Saal! Säume hier nicht! Den Nachttrunk rüste mir drin und harre mein zur Ruh . Sieglinde steht eine Weile unentschieden und sinnend. Sie wendet sich langsam und zögernden Schrittes nach dem Speicher. Dort hält sie wieder an und bleibt, in Sinnen verloren, mit halb abgewandtem Gesicht stehen. Mit ruhigem Entschluss öffnet sie den Schrein, füllt ein Trinkhorn und schüttet aus einer Büchse Würze hinein. Dann wendet sie das Auge auf Siegmund, um seinem Blicke zu begegnen, den dieser fortwährend auf sie heftet. Sie gewahrt Hundings Spähen und wendet sich sogleich zum Schlafgemach. Auf den Stufen kehrt sie sich noch einmal um, heftet das Auge sehnsuchtsvoll auf Siegmund und deutet mit dem Blicke andauernd und mit sprechender Bestimmtheit auf eine Stelle am Eschenstamme. Hunding fährt auf und treibt sie mit einer heftigen Gebärde zum Fortgehen an. Mit einem letzten Blick auf Siegmund geht sie in das Schlafgemach und schliesst hinter sich die Türe HUNDING nimmt seine Waffen vom Stamme herab Mit Waffen wehrt sich der Mann. Im Abgehen sich zu Siegmund wendend Dich Wölfing treffe ich morgen; mein Wort hörtest du, hüte dich wohl! Er geht mit den Waffen in das Gemach; man hört ihn von innen den Riegel schliessen DRITTE SZENE Siegmund, Sieglinde Siegmund allein. Es ist vollständig Nacht geworden; der Saal ist nur noch von einem schwachen Feuer im Herde erhellt. Siegmund lässt sich, nah beim Feuer, auf dem Lager nieder und brütet in grosser innerer Aufregung eine Zeitlang schweigend vor sich hin SIEGMUND Ein Schwert verhiess mir der Vater, ich fänd es in höchster Not. Waffenlos fiel ich in Feindes Haus; seiner Rache Pfand, raste ich hier - ein Weib sah ich, wonnig und hehr entzückend Bangen zehrt mein Herz. Zu der mich nun Sehnsucht zieht, die mit süssem Zauber mich sehrt, im Zwange hält sie der Mann, der mich Wehrlosen höhnt! Wälse! Wälse! Wo ist dein Schwert? Das starke Schwert, das im Sturm ich schwänge, bricht mir hervor aus der Brust, was wütend das Herz noch hegt? Das Feuer bricht zusammen; es fällt aus der aufsprühenden Glut plötzlich ein greller Schein auf die Stelle des Eschenstammes, welche Sieglindes Blick bezeichnet hatte und an der man jetzt deutlich einen Schwertgriff haften sieht Was gleisst dort hell im Glimmerschein? Welch ein Strahl bricht aus der Esche Stamm? Des Blinden Auge leuchtet ein Blitz lustig lacht da der Blick. Wie der Schein so hehr das Herz mir sengt! Ist es der Blick der blühenden Frau, den dort haftend sie hinter sich liess, als aus dem Saal sie schied? von hier an verglimmt das Herdfeuer allmählich Nächtiges Dunkel deckte mein Aug , ihres Blickes Strahl streifte mich da Wärme gewann ich und Tag. Selig schien mir der Sonne Licht; den Scheitel umgliss mir ihr wonniger Glanz - bis hinter Bergen sie sank. Ein neuer schwacher Aufschein des Feuers Noch einmal, da sie schied, traf mich abends ihr Schein; selbst der alten Esche Stamm erglänzte in goldner Glut da bleicht die Blüte, das Licht verlischt; nächtiges Dunkel deckt mir das Auge tief in des Busens Berge glimmt nur noch lichtlose Glut. Das Feuer ist gänzlich verloschen volle Nacht. Das Seitengemach öffnet sich leise Sieglinde, in weissem Gewande, tritt heraus und schreitet leise, doch rasch, auf den Herd zu SIEGLINDE Schläfst du, Gast? SIEGMUND freudig überrascht aufspringend Wer schleicht daher? SIEGLINDE mit geheimnisvoller Hast Ich bin s höre mich an! In tiefem Schlaf liegt Hunding; ich würzt ihm betäubenden Trank nütze die Nacht dir zum Heil! SIEGMUND hitzig unterbrechend Heil macht mich dein Nah n! SIEGLINDE Eine Waffe lass mich dir weisen o wenn du sie gewännst! Den hehrsten Helden dürft ich dich heissen dem Stärksten allein ward sie bestimmt. O merke wohl, was ich dir melde! Der Männer Sippe sass hier im Saal, von Hunding zur Hochzeit geladen er freite ein Weib, das ungefragt Schächer ihm schenkten zur Frau. Traurig sass ich, während sie tranken; ein Fremder trat da herein ein Greis in blauem Gewand; tief hing ihm der Hut, der deckt ihm der Augen eines; doch des andren Strahl, Angst schuf es allen, traf die Männer sein mächtiges Dräu n mir allein weckte das Auge süss sehnenden Harm, Tränen und Trost zugleich. Auf mich blickt er und blitzte auf jene, als ein Schwert in Händen er schwang; das stiess er nun in der Esche Stamm, bis zum Heft haftet es drin dem sollte der Stahl geziemen, der aus dem Stamm es zög . Der Männer alle, so kühn sie sich mühten, die Wehr sich keiner gewann; Gäste kamen und Gäste gingen, die stärksten zogen am Stahl - keinen Zoll entwich er dem Stamm dort haftet schweigend das Schwert. - Da wusst ich, wer der war, der mich Gramvolle gegrüsst; ich weiss auch, wem allein im Stamm das Schwert er bestimmt. O fänd ich ihn hier und heut , den Freund; käm er aus Fremden zur ärmsten Frau. Was je ich gelitten in grimmigem Leid, was je mich geschmerzt in Schande und Schmach, - süsseste Rache sühnte dann alles! Erjagt hätt ich, was je ich verlor, was je ich beweint, wär mir gewonnen, fänd ich den heiligen Freund, umfing den Helden mein Arm! SIEGMUND mit Glut Sieglinde umfassend Dich selige Frau hält nun der Freund, dem Waffe und Weib bestimmt! Heiss in der Brust brennt mir der Eid, der mich dir Edlen vermählt. Was je ich ersehnt, ersah ich in dir; in dir fand ich, was je mir gefehlt! Littest du Schmach, und schmerzte mich Leid; war ich geächtet, und warst du entehrt freudige Rache lacht nun den Frohen! Auf lach ich in heiliger Lust, halt ich dich Hehre umfangen, fühl ich dein schlagendes Herz! Die grosse Türe springt auf SIEGLINDE fährt erschrocken zusammen und reisst sich los Ha, wer ging? Wer kam herein? Die Tür bleibt weit geöffnet aussen herrliche Frühlingsnacht; der Vollmond leuchtet herein und wirft sein helles Licht auf das Paar, das so sich plötzlich in voller Deutlichkeit wahrnehmen kann SIEGMUND in leiser Entzückung Keiner ging - doch einer kam siehe, der Lenz lacht in den Saal! Siegmund zieht Sieglinde mit sanfter Gewalt zu sich auf das Lager, so dass sie neben ihm zu sitzen kommt, Wachsende Helligkeit des Mondscheines Winterstürme wichen dem Wonnemond, in mildem Lichte leuchtet der Lenz; auf linden Lüften leicht und lieblich, Wunder webend er sich wiegt; durch Wald und Auen weht sein Atem, weit geöffnet lacht sein Aug - aus sel ger Vöglein Sange süss er tönt, holde Düfte haucht er aus; seinem warmen Blut entblühen wonnige Blumen, Keim und Spross entspringt seiner Kraft. Mit zarter Waffen Zier bezwingt er die Welt; Winter und Sturm wichen der starken Wehr wohl musste den tapfern Streichen die strenge Türe auch weichen, die trotzig und starr uns trennte von ihm. - Zu seiner Schwester schwang er sich her; die Liebe lockte den Lenz in unsrem Busen barg sie sich tief; nun lacht sie selig dem Licht. Die bräutliche Schwester befreite der Bruder; zertrümmert liegt, was je sie getrennt jauchzend grüsst sich das junge Paar vereint sind Liebe und Lenz! SIEGLINDE Du bist der Lenz, nach dem ich verlangte in frostigen Winters Frist. Dich grüsste mein Herz mit heiligem Grau n, als dein Blick zuerst mir erblühte. Fremdes nur sah ich von je, freudlos war mir das Nahe. Als hätt ich nie es gekannt, war, was immer mir kam. Doch dich kannt ich deutlich und klar als mein Auge dich sah, warst du mein Eigen; was im Busen ich barg, was ich bin, hell wie der Tag taucht es mir auf, o wie tönender Schall schlug s an mein Ohr, als in frostig öder Fremde zuerst ich den Freund ersah. Sie hängt sich entzückt an seinen Hals und blickt ihm nahe ins Gesicht SIEGMUND mit Hingerissenheit O süsseste Wonne! O seligstes Weib! SIEGLINDE dicht an seinen Augen O lass in Nähe zu dir mich neigen, dass hell ich schaue den hehren Schein, der dir aus Aug und Antlitz bricht und so süss die Sinne mir zwingt. SIEGMUND Im Lenzesmond leuchtest du hell; hehr umwebt dich das Wellenhaar was mich berückt, errat ich nun leicht, denn wonnig weidet mein Blick. SIEGLINDE schlägt ihm die Locken von der Stirn zurück und betrachtet ihn staunend Wie dir die Stirn so offen steht, der Adern Geäst in den Schläfen sich schlingt! Mir zagt es vor der Wonne, die mich entzückt! Ein Wunder will mich gemahnen den heut zuerst ich erschaut, mein Auge sah dich schon! SIEGMUND Ein Minnetraum gemahnt auch mich in heissem Sehnen sah ich dich schon! SIEGLINDE Im Bach erblickt ich mein eigen Bild - und jetzt gewahr ich es wieder wie einst dem Teich es enttaucht, bietest mein Bild mir nun du! SIEGMUND Du bist das Bild, das ich in mir barg. SIEGLINDE den Blick schnell abwendend O still! Lass mich der Stimme lauschen mich dünkt, ihren Klang hört ich als Kind. aufgeregt Doch nein! Ich hörte sie neulich, als meiner Stimme Schall mir widerhallte der Wald. SIEGMUND O lieblichste Laute, denen ich lausche! SIEGLINDE ihm wieder in die Augen spähend Deines Auges Glut erglänzte mir schon so blickte der Greis grüssend auf mich, als der Traurigen Trost er gab. An dem Blick erkannt ihn sein Kind - schon wollt ich beim Namen ihn nennen! Sie hält inne und fährt dann leise fort Wehwalt heisst du fürwahr? SIEGMUND Nicht heiss ich so, seit du mich liebst nun walt ich der hehrsten Wonnen! SIEGLINDE Und Friedmund darfst du froh dich nicht nennen? SIEGMUND Nenne mich du, wie du liebst, dass ich heisse den Namen nehm ich von dir! SIEGLINDE Doch nanntest du Wolfe den Vater? SIEGMUND Ein Wolf war er feigen Füchsen! Doch dem so stolz strahlte das Auge, wie, Herrliche, hehr dir es strahlt, der war - Wälse genannt. SIEGLINDE ausser sich War Wälse dein Vater, und bist du ein Wälsung, stiess er für dich sein Schwert in den Stamm, so lass mich dich heissen, wie ich dich liebe Siegmund - so nenn ich dich! SIEGMUND springt auf den Stamm zu und fasst den Schwertgriff Siegmund heiss ich und Siegmund bin ich! Bezeug es dies Schwert, das zaglos ich halte! Wälse verhiess mir, in höchster Not fänd ich es einst ich fass es nun! Heiligster Minne höchste Not, sehnender Liebe sehrende Not brennt mir hell in der Brust, drängt zu Tat und Tod Notung! Notung! So nenn ich dich, Schwert - Notung! Notung! Neidlicher Stahl! Zeig deiner Schärfe schneidenden Zahn heraus aus der Scheide zu mir! Er zieht mit einem gewaltigen Zuck das Schwert aus dem Stamme und zeigt es der von Staunen und Entzücken erfassten Sieglinde Siegmund, den Wälsung, siehst du, Weib! Als Brautgabe bringt er dies Schwert so freit er sich die seligste Frau; dem Feindeshaus entführt er dich so. Fern von hier folge mir nun, fort in des Lenzes lachendes Haus dort schützt dich Notung, das Schwert, wenn Siegmund dir liebend erlag! Er hat sie umfasst, um sie mit sich fortzuziehen SIEGLINDE reisst sich in höchster Trunkenheit von ihm los und stellt sich ihm gegenüber Bist du Siegmund, den ich hier sehe, Sieglinde bin ich, die dich ersehnt die eigne Schwester gewannst du zu eins mit dem Schwert! SIEGMUND Braut und Schwester bist du dem Bruder - so blühe denn, Wälsungen-Blut! Er zieht sie mit wütender Glut an sich; sie sinkt mit einem Schrei an seine Brust. Der Vorhang fällt schnell この日本語テキストは、 クリエイティブ・コモンズ・ライセンス の下でライセンスされています。@wagnerianchan Wagner,Richard/Die Walküre/II
https://w.atwiki.jp/oper/pages/3222.html
第五場 幕が上がると、舞台は一変して広々とした草原。後方、はるか彼方にニュルンベルクの街が見える。ペグニツ川が草原の間をくねくねと走り、流れは細いがちょっと向こうでは次々と船着き場として使われている。色とりどりの旗を立てた小舟が次々と到着し、組合に所属する、きれいに着飾った市民が妻や子供とともに、岸に上がっては祭りに合流する。右手に小高くしつらえられたステージには椅子やベンチが並べられ、すでに到着した組合の旗が並んでいる。組合の者たちが到着するごとに次々と旗を立てていくので、歌の舞台は三方を旗で囲まれることになる。舞台前方には軽食や飲み物のテントがあり、あたりは非常に賑わっている。;妻子や職人を連れた市民が座ったり、横になったりしている。マイスタージンガーの弟子たちは晴れ着をまとい、花やリボンをおしゃれに飾って、やはり花やリボンで飾られたしなやかな杖を持って楽しそうに旗手や主馬頭の役を務めている。彼らは岸から上がってくる人々を歓迎し、組合の列を整えて歌の舞台のほうへと導く。旗手が旗を立て終えると、組合の職人たちはテントのほうへ散っていく。ちょうど靴屋の一行が岸辺で歓迎を受け、前方に歩いてくるところ。 靴屋の職人たち (旗をたなびかせながら出てきて) 聖クリスピンを讃えよう! 彼は素晴らしい男だった。 靴屋に何ができるか世に知らしめた。 貧しい良き人々のために、 彼は暖かい靴を作ってやった。 どうしても皮が手に入らない時は 盗んででも作った。 靴屋は広い心の持ち主だ、 どんなに苦労しても何とか靴を作り上げる。 皮なめし工から皮を渡されたら とにかくトントン打つ! 皮だって正しく使わなきゃ意味はない! 警備隊や、トランペットと小太鼓を持った吹奏楽部隊、ラッパ吹きやリュート弾きらがそれぞれの楽器を奏でながら近づいてくる。職人たちが素人合奏をしながらそれに続く。 仕立て屋の職人たち (旗をたなびかせながら出てきて) かつてニュルンベルクが包囲された時、 飢饉が広がって、 もう少しで街も人も滅亡するところだった。 その状況を救ったのは、 勇敢で頭の切れる一人の仕立て屋。 ヤギの着ぐるみ被って、 城壁をぶらつき、 とっても楽しそうにそこらじゅうを 跳びはねたんだとさ。 これ見た敵はおっかなびっくり逃げ出した、 「こんな街、悪魔にくれてやれ! ヤギがあんな踊りをやるんじゃたまらねえ!」 メーッ!メーッ!メーッ! 仕立て屋が中に隠れてるなんて誰も気づかなかったのさ! パン職人たち (旗をたなびかせながら現れ) 腹が減った!腹が減った! 耐え難いほどの苦しみ! パン屋が毎日パンを焼かなければ、 地球は全滅だ! 焼こう!焼こう!焼こう! 毎日焼くんだ! そうすれば空腹なぞなくなる! 靴屋の職人たち (自分の旗を立て、歌合戦の舞台から下りてきながらパン屋の一行とすれ違う。) とにかくトン、トン、トン! 皮はちゃんと叩かなきゃ役に立たない! 仕立て屋の職人たち (旗を立ててからまた下りてきて) メーッ!メーッ!メーッ! 仕立て屋がヤギの格好してたなんて誰が言えるだろ! 若い娘たちを乗せた色鮮やかな小舟が岸につく。娘たちは田舎風の晴れ着に身を包んでいる。 弟子たち (岸辺に駆けて行って) わあい!わあい!フュルトの娘さんたちだ! 楽師さんたち、頼むよ。うんと楽しい曲をやってくれ! 彼らは娘たちが岸に上がるのを手伝う。舞台前面に来た弟子と娘たちの個性的な踊り。弟子たちは娘たちを広場のほうに連れて行くように見せながら、職人がちょっかいを出そうとするとうまくかわし、別のところに行くふりをするうちに円を描くようになる。よく考え、邪魔させないようにしながら、それでいて外目には優美で楽しげに見える。 ダーフィト (岸から上がってきて、感心しない様子で踊りを見つめる。) 踊ってるのかい?マイスターに何て言われるか知らないのか? (弟子たちは鼻であしらう。) 聞く気はないな。じゃあ、僕だって楽しむぞ! (若くて美しい娘を一人捕まえ、勢いよく楽しそうに踊る。皆は面白がって笑う。) 数人の弟子 (ダーフィトに合図して) ダーフィト!おい、レーネが見てるぞ! ダーフィト (びっくりして娘から離れ、弟子たちはすぐに彼女の周りを踊りながら囲む。しかし、レーネの姿はどこにも見えず、からかわれたと知ったダーフィトはこの輪を突き抜け、またさっきの娘を捕まえていっそう楽しげに踊る。) もう、冗談はやめてくれよ! (弟子たちは娘を奪い去ろうとするが、ダーフィトはうまくかわし、それが一種の遊びのようになって、先ほど職人たちが娘を捕まえようとした時とそっくり同じことになる。 職人たち (岸辺から走ってくる) マイスターたちだ! 弟子たち マイスターだって! (あわてて踊るのをやめ、岸に急ぐ。) ダーフィト 大変だ!さようなら、お嬢さんたち! (彼は娘に熱いキスをしてさっと離れる。) 弟子たちはマイスターたちを迎えるために整列し、民衆は彼らのために場所をあける。マイスタージンガーたちが整列して岸のほうからパレードを始める。コートナーが前方に出てきて、帽子を振って挨拶する民衆に向かって、竪琴を持つダビデ王が描かれた旗を振ってみせる。マイスタージンガーたちは歌の舞台まで辿り着き、コートナーはそこに旗を立てる。ポーグナーはエーファの腕を取って進んでくる。エーファの後ろには美しく着飾った娘たちが続き、その中にマグダレーネも混じっている。エーファが娘たちに囲まれ、花で飾られた名誉席に座ると、他の者たちもそれに続く。マイスターたちはベンチに腰を下ろし、職人たちは彼らの後ろに立ったり、広場の空いたところに座ったりする。弟子たちは舞台の前まで進み出て民衆のほうを向き、物々しく整列する。 弟子たち 静粛に!静粛に! (ザックスが立ち上がり、進み出る。彼の姿を見て誰もが合図しあい、帽子を取って彼に注目する。) おしゃべりもささやきもやめてください。 数人の民衆 ザックスだ、ザックスだ、 ザックス親方だぞ! 数人 歌おう、歌おう! (着席していた人々は皆立ち上がる。男たちは帽子を取っている。ベックメッサーだけは詩の暗記に余念がなく、ほかのマイスターたちの後ろに隠れるので、その姿は観客に見えなくなる。) 全員 (ザックスを除く。) 「目覚めよ、その日が近づいた。 一羽のナイチンゲールが楽しそうに 緑の林の中で歌うのが聞こえる。 さえずりは山や谷にまで響き、 夜は西へ沈んで、 東から太陽が昇ってくる。 明るい暁の光が 空を覆う雲を突き抜けて我々にまで届く。」 民衆 (また活気づき、彼らだけで歌う。 マイスターたちは歌の舞台から、民衆の歓呼を感心しながら見つめている。) ザックス万歳!ザックスに幸あれ! ニュルンベルクの大事なザックス!万歳!万歳! ザックスはそれまで微動もせず、放心した様子でぼうっと宙を見つめていたが、今ようやく親しみを込めた眼差しを民衆に向け、さっそく厳かな口調で語り始める。 ザックス 皆さんは軽いお気持ちでしょうが、私のような哀れな者に これほどの栄誉を与えてくださっては気が重くなります。 どうしても歓迎したいとおっしゃるなら、 皆さんのお心の中で愛してくださるだけで十分です。 今日この日に口上役に選ばれただけでも 私にとっては光栄なことです。 これから非常に重要なことについて お話しさせてください。 皆さんは芸術を愛しておいでですが、 直接芸術に携わる者としては やはりその信念のほどを 皆さんに示したいものです。 裕福で自信にあふれる一人のマイスターが 今日まさにそれを示そうとなさっているのです。 民商の面前で行われる 歌合戦の勝利者に、 彼の大切な娘を すべての財産とともに 最高賞として 差し出すとおっしゃっています。 よくお聞きになってください、 この歌合戦の応募資格は詩を作れることだけです。 マイスター方、審査はあなた方の手にゆだねられますが、 民衆の前で今一度お願いしたいことがあります。 今回の賞は稀に見るものであることを覚えておいてください。 誰が優勝するとしても、 その男は清らかで、徳を知っていなくてはなりません。 歌で求婚し、月桂冠を得たいのなら、 何よりもまず彼の人格が大切です。 今も昔も この愛らしい乙女が差し出す冠ほど 素晴らしい賞はなかったでしょう。 ニュルンベルクが芸術とマイスターたちに 尊敬の念を捧げたがゆえに この乙女が犠牲になるなどあってはなりません。 大きな感動が皆を包む。ザックスがポーグナーのほうに行くと、彼は感激した様子でザックスの手を握る。 ポーグナー ザックス、何とお礼を言ってよいか。 私の心をよく分かってくださっている。 ザックス (ポーグナーに) ここまでやったのですから、あとは勇気を持つだけですよ。 (ベックメッサーのほうを向く。彼は相変わらず紙切れを手に暗記しようとし、何とか正確な意味を捉えようとしては絶望し、焦ってしばしば汗をぬぐっている。) 書記殿、どうですか?うまくいってます? ベックメッサー もう、この歌ときたら!どうしても解明できないが、 研究はしすぎるくらいした。 ザックス 別に歌わなくてもいいんですよ。 ベックメッサー だからどうなのだ? 私が作った歌はめちゃくちゃになってしまった! あれはあなたのせいなんだぞ!ちょっとは親切にしてくれ!ここで見捨てられでもしたら、公衆の面前で恥をかいてしまう! ザックス やめたほうがよくはありませんか? ベックメッサー とんでもない! 誰が歌おうと負かしてやる!あなたさえ歌わなければ! ザックス では、当たって砕けろというわけですね。 ベックメッサー この歌!賭けてもいいが、誰も理解できないだろう。 だが、あなたの知名度には信頼を置いているから。 ザックス では、マイスター方と民衆の双方がよろしければ 歌合戦を始めましょう。 コートナー (進み出て) 独身のマイスター方、準備を。 最年長の方から始めましょう。 ベックメッサー殿、お時間です。 弟子たちはベックメッサーを歌の舞台にある、あらかじめ花できれいに飾っておいた小さな芝生の台に案内する。 ベックメッサー (つまづきながら上がり、よろよろする。) ちくしょう!ぐらぐらするじゃないか!もっとしっかりしてくれ! 弟子たちはくすくす笑いながら面白そうに芝生の間を埋める。 民衆 (面白そうに互いにつつき合い) ええっ、あいつが求婚するのか?あまり似合わないけどな。 わしが娘ならあんな男は嫌じゃよ。 しっ!いちおう立派なマイスターなんだから。 だめだって!冗談は言っちゃだめだ! 市の書記を務めておいでなんだから。 でもさ、まっすぐ立ってもいられないじゃないか! あれでだいじょうぶかな? 落っこちそうだぜ!やれやれ、ばかだなあ! 書記殿だぞ! ベックメッサーというんだって。 ばかにも程がある! だから冗談はやめろって! それ、倒れるぞ! お役人さんの一人か。 (大勢が笑う。) 弟子たち (整列して) 静粛に!静粛に! おしゃべりもひそひそ声もいけません! コートナー 始めよ! ベックメッサー (四苦八苦して何とか台にまっすぐ立ち、マイスターたちに深々とお辞儀をし、次に民衆に向かって、最後にエーファに頭を下げるが、彼女がそっぽを向くので困惑し、ひどく不安になる。リュートで前奏を奏でながらどうにか気を奮い立たせようとする。) 「朝、私はバラ色の光に輝き、 血のにおいが空気をさっとよぎる。 溶けるような速さで間もなく勝ちとれるだろう。 私は庭に招き入れた、下品かつ上品に。」 まっすぐ立っておこうとする。マイスターたちはひそひそ話を始める。 マイスターたち ちょっと!こりゃ何だ? 気でも狂ったか? どうなってる? 正気か? 何て奇妙な歌だ!この題材はどこから取って来たんだろう? よくこんな歌を作れたものだ。 民衆 (ひそひそと) ふしぎな歌だ!聞いたか?誰を招き入れた? 意味分かった?いったい何なんだ? ベックメッサー (紙をこっそり出して急いで読み、また心配そうにしまう。) 私はどうにかその園に住まい、 お金と果物、鉛と重しを取ってくる。 (紙をのぞく。) 私をさらし台から呼ぶのは、焦がれる人で… 坂道は風が吹いてるとはとても言えず、私は木で首を吊る。 (ふらふらする。紙を読もうとするが、うまくいかない。くらくらしてきて、冷汗がふきだす。) 民衆 こりゃ最高の求婚者だ!もうすぐ褒美をもらえるだろうよ。 絞首台にぶら下がってるのが目に浮かぶようだぜ。 マイスターたち どういう意味だ? 彼は本当に気が狂ったのか? この歌ときたら意味不明にもほどがある! ベックメッサー (絶望のあまりやっきになって、ほとんど怒鳴るように) 「内心私は怖くてたまらない、 何しろここは楽しすぎるから。 私の梯子に一人の女性が立ち、 はにかんで、こっちを見てくれない。 キャベツのように青ざめて、 麻糸がわが身に巻き付く。 犬はウィンクし、手を振りながら吹いた、 私がとっくに食べてしまっていたものを、 まるで果物みたいに丸太と馬を、 肝臓の木から食べていた。」 (全員、どっと吹き出す。) ベックメッサー (怒って台を下り、ザックスに突っかかる。) ひどい靴屋だ!ここでお礼を言うよ! この歌は私が作ったんじゃないんだ! ここで尊敬を集めてるザックスのだ。 ザックスがプレゼントしてくれたものなんだ! この恥知らずがうまいこと言って、 自分の駄作を私に押し付けたんだ! (激怒して飛び出していき、民衆に紛れて見えなくなる。) 民衆 ええっ!どうなってるんだ?どんどん騒がしくなるな。 この歌がザックスの?信じられない! コートナー ザックス、説明してくれ。 ナハティガル スキャンダルだ! フォーゲルゲザンク これがあなたの歌? オルテルとフォルツ 変わった事態だ! ザックス (ベックメッサーが投げ捨てていった紙を落ち着いて拾い上げ) この歌は誓って私のではありません。 ベックメッサー殿が歌詞を間違えたのです。 しかし、彼の言葉を肯定して、 自分の名声を高めようとは思いませんよ。 これほど美しく作られた歌を、 私の作などと自慢するのははばかられます。 マイスタージンガーたち 何?美しい?この意味不明な歌が? 民衆 ザックスは冗談を言ってるのさ。面白がってるだけだよ。 ザックス いいえ、この歌は本当に美しいのです。 ベックメッサーが間違えてしまったのは 一目でわかります。 ですが、正しい言葉と調べで 誰かこの場で歌ってくれれば、 皆さんの誰もが気に入ることでしょう。 これが理解でき、美しいと証明できる者がいれば、 この歌の作詞者は マイスターと呼ばれてしかるべきだと思われるでしょう。 むろん公正な審査があればですが。 私は告訴され、申し開きをせねばならない立場ですから せめて証人を立てることをお許しください。 どなたか私を肯定してくださる方がいらしたら 証人として出てきていただきたい。 (ヴァルターが民衆の間から現れ、ザックスに、それからマイスターたちや民衆に向かって騎士らしい親密な素振りで挨拶する。 場はたちまち和やかな雰囲気に包まれる。皆はちょっとの間、ただじっと彼の姿に見とれる。) さあ、この歌が私の作でないことを証明してください。 私がこの歌について言ったことも、 決して大げさではないと確信させてください。 マイスターたち やるじゃないか、ザックス!なかなかのやり手だと言わせてもらいますよ。まあ、だが今日はこれで良しとするか。 ザックス 規則についての評価は、 たまには例外も受け付けるかどうかで変わってきますよ。 民衆 いい証人だ、誇り高そうで、しっかりしてる。 これなら何かいいことが起こりそうだ。 ザックス マイスターも民衆も 私の証人の言葉を待っています。 ヴァルター・フォン・シュトルツィング殿、あの歌を歌ってください。マイスター方は彼がきちんと歌うかどうかこれを読んでください。(読んでもらうために紙をコートナーに渡す。) 弟子たち (整列したまま) 皆集中している。囁き声すら聞こえない。 これなら「静粛に」なんていう必要もないな。 ヴァルター (花で飾られた足台にしっかりとした足取りで上る。) 「朝はバラ色の光に輝き、 辺りは花の香りに満ち溢れて、 思いも及ばぬほどの喜びを漂わせつつ、 ある庭園が誘いかけるように (コートナーは聴き惚れて、他のマイスターたちとともに熱心に読み進めていた紙を思わず落としてしまう。マイスターたちは皆、固唾をのんでひたすら耳を傾ける。) 私を迎え入れた。 そこには多くの実を結んだ 素晴らしい木があり、 そのそばには、幸せな愛の夢のうちに 崇高な喜びを与えようと 一人の乙女が立っていた。 この上もなく美しい女性、楽園のエーファよ。」 民衆 (小声で囁きあう。) これは全然別物だ!こんなだとは誰が考えただろう。 正しい言葉と曲で歌えばこんなに変わるものなのか。 マイスタージンガーたち (フォルツとシュヴァルツを除く。小声で話し合う。) 確かに!これは全然違う。よくわかったぞ。 ザックス 証人、よいか。続けよ! ヴァルター 「黄昏が訪れ、やがて夜が私を包んだ。 急な小道の彼方に 清らかな流れに満ちた泉があり、 誘いかけるように私に笑いかける。 そばには星の光に包まれた 月桂樹があり、 現実のような詩的な夢のうちに、 私はそこに立つ人を見た。 私の渇きを潤そうと一杯の水を差しだす 高貴な女性、 パルナッソスのミューズよ。」 民衆 (だんだん小さな声で、独白。) 何と優しく、親しみのある歌だろう。まるで遠くから漂ってきたようだ。それでいて、まるで自分が味わったかのような実感を伴う。 マイスタージンガーたち かなり斬新で奇妙なのは事実だが、 韻の踏み方は申し分ないし、歌も素晴らしい。 ザックス 選ばれた証人よ、続けて締めくくりとせよ! ヴァルター (情熱的に) 「慈愛に満ちしこの日、 私が詩人の夢から目覚めた日よ! 夢に見た楽園、 それは新たな飾りで清められ、 崇高な輝かしい姿で私の目前にある。 泉へつながるあの小道は微笑みながら私に示す; この楽園で生まれ、私の心を捉えた、 愛らしき姿、 ミューズとして私のそばに現れ、 厳粛でありながら優しい乙女。 私は大胆にも彼女の愛を求め、 太陽の輝く明るい昼に 歌によって勝ち取ったのだ、 パルナソッスと楽園を!」 民衆 美しい夢を見ているようで、 考える余地などない。 (エーファに) あの方に賞を!彼こそ優勝者だ! 彼のように求婚できる人などいない! マイスターたち (立ち上がって) 素晴らしい歌い手だ! さあ、賞をお取りなさい。 あなたは歌でマイスターの地位を手に入れましたぞ。 こんなに美しい求婚は聴いたことがない。 ポーグナー (深く感動し、ザックスのほうを向いて) ザックスさん!何とお礼を述べたらよいか! これでようやく心の重荷が消えました。 ヴァルターは舞台の階段に導かれ、エーファの前にひざまずく。 エーファ (月桂樹とミルテで作られた冠をかぶせようと身をかがめながらヴァルターに) あなたのように優しく求婚できる人なんていないわ! ザックス (民衆のほうを向き、ヴァルターとエーファを示して) 我ながらいい証人を選んだと思いますがね。 これでもハンス・ザックスは有罪ですか? 民衆 (突然活気づき、歓声を上げる。) ハンス・ザックス!有罪だなんて!実にすばらしい思いつきでした!あなたはふたたび称賛に値することをなさった。 マイスタージンガーたち (物々しくポーグナーのほうを向き) さあ、ポーグナー親方!騎士殿を マイスターに迎え入れ、あなたの名誉となさるがよい。 ポーグナー (三つの大きなメダルが下げられた金の鎖を持って ヴァルターに) ダビデの絵姿であなたを飾りましょう。 あなたをマイスターの一員として迎え入れます。 ヴァルター (つらそうな表情で激しく拒む。) マイスターにはなりたくありません!いやです! (優しくエーファを見つめて) マイスターではなく、幸せになりたいだけです。 誰もが非常に戸惑い、ザックスを見る。 ザックス (ヴァルターのほうに歩いていき、 説得するようにその手を取る。) マイスターを侮ってはいけません。 彼らの芸術に敬意を払ってください。 彼らの賞賛に値する地位が 差し出されているのです。 今日あなたが詩人として認められたのは、 誉れ高き家柄であろうとあなたの先祖のおかげではないし、 あなたの紋章でも槍や剣のおかげでもありません。 一人の親方があなたの幸福を差し出してくれたのです。 感謝の念を持ってください。 どうしてこのような芸術が 無価値だといえるでしょう? これほどの賞を受けることができるのは大変な名誉です。 我らがマイスターは彼ら独自のやり方で この芸術を作り上げました。 彼らの忠誠によって守られたおかげで、 芸術はその姿を維持することができたのです。 彼らが常に毅然とした態度を保っていなかったら、 王族や貴族たちが 動乱に巻き込まれた時、 芸術は真実なるドイツの雰囲気を失っていたでしょう。 彼らが信念を持って守り抜いたからこそ、 芸術はその姿を歪められることなく、 今あなたの前にその栄光を見せることができたのです。 これ以上マイスターに何を望むのですか? 気をつけてください!我々には黒雲が漂いつつあるのです。 近いうちにドイツの民衆と王国が倒れ、 悪趣味に満ちた異国の手に落ちて、 王侯の誰も民衆を理解しなくなるかもしれません。 彼らはくだらぬ流行りのものを持ち込んで、 このドイツの地に根付かせてしまうでしょう。 そうなれば、真にドイツ的なもののことなど誰もが忘れてしまい、ドイツのマイスターという名誉もなくなってしまいます。 ですから、しっかりとあなたに申します、 ドイツのマイスターを敬ってください。 あなたの良き守護霊なのですから。 あなたの中に彼らの芸術をとどめておいてください。 たとえ神聖ローマ帝国が 塵と藻屑の中に埋もれようとも、 聖なるドイツの芸術は 我々の手の内に残るでしょう! 終曲の間にエーファはヴァルターの頭から冠を取り、それをザックスに載せる。ザックスはポーグナーの手から勲章を取り、ヴァルターにかけてやり、それから恋人たちをしっかりと抱きしめる。ヴァルターとエーファはザックスの肩にもたれたままでいる。ポーグナーは尊敬の念を込めて、ザックスの前にひざまずく。マイスターたちはザックスこそが自分たちの長であるというように彼を指し示す。 全員 あなたを支えるドイツのマイスターを敬ってください。 あなたの良き守護霊なのですから。 あなたの中に彼らの芸術をとどめておいてください。 たとえ神聖ローマ帝国が 塵と藻屑の中に埋もれようとも、 聖なるドイツの芸術は 我々の手の内に残るでしょう! 民衆は歓呼して帽子やハンカチを振る。弟子たちは踊ったり、大声を上げながら手を叩く。 民衆 ザックス万歳!ニュルンベルクの尊いザックス! FÜNFTE SZENE Die Vorhänge sind nach der Höhe aufgezogen worden; die Bühne ist verwandelt. Diese stellt einen freien Wiesenplan, im ferneren Hintergrunde die Stadt Nürnberg. Die Pegnitz schlängelt sich durch den Plan, der schmale Fluss ist an den nächsten Punkten praktikabel gehalten. Buntbeflaggte Kähne setzen die ankommenden, festlich gekleideten Bürger der Zünfte mit Frauen und Kindern, an das Ufer der Festwiese über. Eine erhöhte Bühne mit Bänken und Sitzen darauf ist rechts zur Seite aufgeschlagen; bereits ist sie mit den Fahnen der angekommenen Zünfte geschmückt; im Verlaufe stecken die Fahnenträger der noch ankommenden Zünfte ihre Fahnen ebenfalls um die Sängerbühne auf so dass diese schliesslich nach drei Seiten hin ganz davon eingefasst ist. Zelte mit Getränken und Erfrischungen aller Art begrenzen im übrigen die Seiten des vorderen Hauptraumes. Vor den Zelten geht es bereits lustig her Bürger mit Frauen, Kindern und Gesellen sitzen und lagern daselbst. Die Lehrbuben der Meistersinger, festlich gekleidet, mit Blumen und Bändern reich und anmutig geschmückt, üben mit schlanken Stäben, die ebenfalls mit Blumen und Bändern geziert sind, in lustiger Weise das Amt von Herolden und Marschällen aus. Sie empfangen die am Ufer Aussteigenden, ordnen die Züge der Zünfte und geleiten diese nach der Sängerbühne, von wo aus, nachdem der Bannerträger die Fahne aufgepflanzt, die Zunftbürger und Gesellen sich unter den Zelten zerstreuen. Soeben werden die Schuster am Ufer empfangen und nach dem Vordergrunde geleitet DIE SCHUSTER mit fliegender Fahne aufziehend Sankt Krispin, lobet ihn! War gar ein heilig Mann, zeigt , was ein Schuster kann. Die Armen hatten gute Zeit, macht ihnen warme Schuh ; und wenn ihm keiner ‘s Leder leiht, so stahl er sich s dazu. Der Schuster hat ein weit Gewissen, macht Schuhe selbst mit Hindernissen; und ist vom Gerber das Fell erst weg, dann streck, streck, streck! Leder taugt nur am rechten Fleck. Die Stadtwächter und Heerhornbläser mit Trompeten und Trommeln sowie die Stadtpfeifer, Lautenmacher usw. ziehen, auf ihren Instrumenten spielend, auf. Ihnen folgen Gesellen mit Kinderinstrumenten DIE SCHNEIDER mit fliegender Fahne aufziehend Als Nürnberg belagert war und Hungersnot sich fand, wär Stadt und Volk verdorben gar, war nicht ein Schneider zur Hand, der viel Mut hatt und Verstand. Hat sich in ein Bocksfell eingenäht, auf dem Stadtwall da spazierengeht und macht wohl seine Sprünge gar lustig guter Dinge. Der Feind, der sieht s und zieht vom Fleck der Teufel hol die Stadt sich weg, hat s drin noch so lustige Meck-meck-meck! Meck! Meck! Meck! Wer glaubt s, dass ein Schneider im Bocke steck ! DIE BÄCKER ziehen mit fliegender Fahne auf Hungersnot! Hungersnot! Das ist ein greulich Leiden! Gäb euch der Bäcker nicht täglich Brot, müsst alle Welt verscheiden. Beck! Beck! Beck! Täglich auf dem Fleck! Nimm uns den Hunger weg! DIE SCHUSTER welche ihre Fahne aufgesteckt, begegnen beim Herabschreiten von der Sängerbühne den Bäckern Streck! Streck! Streck! Leder taugt nur am rechten Fleck. DIE SCHNEIDER nachdem die Fahne aufgesteckt, herabschreitend Meck! Meck! Meck! Wer meint, dass ein Schneider im Bocke steck ! Ein bunter Kahn mit jungen Mädchen in reicher bäuerischer Tracht kommt an LEHRBUBEN laufen nach dem Gestade Herrje! Herrje! Mädel von Fürth! Stadtpfeifer, spielt, dass s lustig wird! Sie heben die Mädchen aus dem Kahn. Das Charakteristische des Tanzes, mit welchem die Lehrbuben und Mädchen zunächst nach dem Vordergrund kommen, besteht darin, dass die Lehrbuben die Mädchen scheinbar nur an den Platz bringen wollen; sowie die Gesellen zugreifen wollen, ziehen die Buben die Mädchen aber immer wieder zurück, als ob sie sie anderswo unterbringen wollten, wobei sie den ganzen Kreis, wie wählend, ausmessen und somit die scheinbare Absicht anmutig und lustig verzögern DAVID kommt vom Landungsplatz vor und sieht missbilligend dem Tanze zu Ihr tanzt? Was werden die Meister sagen? Die Lehrbuben drehen ihm Nasen Hört nicht? - Lass ich mir s auch behagen! Er nimmt sich ein junges, schönes Mädchen und gerät im Tanze mit ihr schnell in grosses Feuer. Die Zuschauer freuen sich und lachen EINIGE LEHRBUBEN winken David David! David! Die Lene sieht zu! DAVID lässt das Mädchen erschrocken fahren, um das die Lehrbuben sogleich tanzend einen Kreis schliessen. Da er Lene nirgends gewahrt, merkt David, dass er nur geneckt worden, durchbricht den Kreis, erfasst sein Mädchen wieder und tanzt noch feuriger weiter Ach, lasst mich mit euren Possen in Ruh ! Die Buben suchen ihm das Mädchen zu entreissen, er wendet sich mit ihr jedesmal glücklich ab, so dass nun ein ähnliches Spiel entsteht wie zuvor, als die Gesellen nach den Mädchen fassten GESELLEN vom Ufer her Die Meistersinger! LEHRBUBEN Die Meistersinger! Sie unterbrechen schnell den Tanz und eilen zum Ufer DAVID Herrgott! Ade, ihr hübschen Dinger! Er gibt dem Mädchen einen feurigen Kuss und reisst sich los Die Lehrbuben reihen sich zum Empfang der Meistersinger. Das Volk macht ihnen willig Platz. Die Meistersinger ordnen sich am Landungsplatze zum festlichen Aufzuge. Wenn Kothner im Vordergrunde ankommt, wird die geschwungene Fahne, auf welcher König David mit der Harfe abgebildet ist, von allem Volk mit Hutschwenken begrüsst. Der Zug der Meistersinger ist nun auf der Singerbühne angelangt, wo Kothner die Fahne aufpflanzt. Pogner, Eva an der Hand führend, diese von festlich geschmückten, reich gekleideten jungen Mädchen, unter denen auch Magdalene, begleitet, voran. Als Eva, von den Mädchen umgeben, den mit Blumen geschmückten Ehrenplatz eingenommen und alle übrigen, die Meister auf den Bänken, die Gesellen hinter ihnen stehend, ebenfalls Platz genommen, treten die Lehrbuben, dem Volke zugewendet, feierlich vor die Bühne in Reih und Glied LEHRBUBEN Silentium! Silentium! Sachs erhebt sich und tritt vor. Bei seinem Anblick stösst sich alles an; Hüte und Mützen werden abgezogen. Alle deuten auf ihn Macht kein Reden und kein Gesumm . EINIGE IM VOLK Ha! Sachs! ‘s ist Sachs! Seht Meister Sachs! MEHRERE Stimmt an! Stimmt an! Alle Sitzenden erheben sich; die Männer bleiben mit entblösstem Haupte. Beckmesser bleibt, mit dem Memorieren des Gedichtes beschäftigt, hinter den anderen Meistern versteckt, so dass er bei dieser Gelegenheit der Beachtung des Publikums entzogen wird ALLE ausser Sachs Wach auf, es nahet gen den Tag, ich hör singen im grünen Hag ein wonnigliche Nachtigal, ihr Stimm durchdringet Berg und Tal; die Nacht neigt sich zum Okzident, der Tag geht auf von Orient, die rotbrünstige Morgenröt her durch die trüben Wolken geht.« DAS VOLK nimmt wieder eine jubelnd bewegte Haltung an und singt nun allein. Die Meister auf der Bühne sowie die anderen Teilnehmer am Gesange geben sich dem Schauspiele des Volksjubels hin Heil Sachs! Heil dir, Sachs! Heil Nürnbergs teurem Sachs! Heil! Heil! Sachs, der unbeweglich, wie geistesabwesend, über die Menge hinweg geblickt hatte, richtet endlich seine Blicke vertrauter auf sie und beginnt mit ergriffener, schnell sich festigender Stimme SACHS Euch macht Ihr s leicht, mir macht Ihr s schwer, gebt Ihr mir Armen zuviel Ehr . Soll vor der Ehr ich besteh n, sei s, mich von Euch geliebt zu seh n! Schon grosse Ehr ward mir erkannt, ward heut ich zum Spruchsprecher ernannt. Und was mein Spruch Euch künden soll, glaubt, das ist hoher Ehren voll! Wenn Ihr die Kunst so hoch schon ehrt, da galt es zu beweisen, dass, wer ihr selbst gar angehört, sie schätzt ob allen Preisen. Ein Meister, reich und hochgemut, der will heut Euch das zeigen sein Töchterlein, sein höchstes Gut, mit allem Hab und Eigen, dem Singer, der im Kunstgesang vor allem Volk den Preis errang, als höchsten Preises Kron er bietet das zum Lohn. Darum so hört und stimmt mir bei die Werbung steh dem Dichter frei. Ihr Meister, die Ihr s Euch getraut, Euch ruf ich s vor dem Volke laut erwägt der Werbung seltnen Preis, und wem sie soll gelingen, dass der sich rein und edel weiss im Werben wie im Singen, will er das Reis erringen, das nie bei Neuen noch bei Alten ward je so herrlich hoch gehalten als von der lieblich Reinen, die niemals soll beweinen, dass Nürenberg mit höchstem Wert die Kunst und ihre Meister ehrt. Grosse Bewegung unter allen. Sachs geht auf Pogner zu, der ihm gerührt die Hand drückt POGNER O Sachs! Mein Freund! Wie dankenswert! Wie wisst Ihr, was mein Herz beschwert! SACHS zu Pogner ‘s war viel gewagt! Jetzt habt nur Mut! Er wendet sich zu Beckmesser, der fortwährend eifrig das Blatt mit dem Gedicht herausgezogen, memoriert, genau zu lesen versucht und oft verzweiflungsvoll sich den Schweiss getrocknet hat Herr Merker! Sagt, wie steht es? Gut? BECKMESSER O dieses Lied! Werd nicht draus klug und hab doch dran studiert genug! SACHS Mein Freund, ‘s ist Euch nicht aufgezwungen. BECKMESSER Was hilft s? - Mit dem meinen ist doch versungen! ‘s war Eure Schuld! Jetzt seid hübsch für mich! ‘s wär schändlich, liesst Ihr mich im Stich! SACHS Ich dächt , Ihr gäbt s auf. BECKMESSER Warum nicht gar? Die and ren sing ich alle zu Paar , wenn Ihr nur nicht singt! SACHS So seht, wie s geht! BECKMESSER Das Lied! - bin s sicher - zwar niemand versteht; doch bau ich auf Eure Popularität. SACHS Nun denn, wenn s Meistern und Volk beliebt, zum Wettgesang man den Anfang gibt. KOTHNER tritt vor Ihr ledig Meister, macht Euch bereit! Der Ältest sich zuerst anlässt Herr Beckmesser, Ihr fangt an, ‘s ist Zeit! Die Lehrbuben führen Beckmesser zu einem kleinen Rasenhügel vor der Singerbühne, welchen sie zuvor festgerammt und reich mit Blumen überdeckt haben BECKMESSER strauchelt darauf, tritt unsicher und schwankt Zum Teufel! Wie wackelig! Macht das hübsch fest! Die Buben lachen unter sich und stopfen lustig am Rasen DAS VOLK stösst sich gegenseitig lustig an Wie, der? Der wirbt? Scheint mir nicht der Rechte! An der Tochter Stell ich den nicht möchte. Seid still! ‘s ist gar ein tücht ger Meister! Still! Macht keinen Witz; der hat im Rate Stimm und Sitz. Ach, der kann ja nicht mal steh n. Wie soll es mit dem geh n? Er fällt fast um! Gott, ist der dumm! Stadtschreiber ist er Beckmesser heisst er. Gott, ist der dumm! Still! Macht keinen Witz! Er fällt fast um! Der hat im Rate Stimm und Sitz! Viele lachen DIE LEHRBUBEN in Aufstellung Silentium! Silentium! Macht kein Reden und kein Gesumm! KOTHNER Fanget an! BECKMESSER der sich endlich mit Mühe auf dem Rasenhügel festgestellt hat, macht eine erste Verbeugung gegen die Meister, eine zweite gegen das Volk, dann gegen Eva, auf welche er, da sie sich abwendet, nochmals verlegen hinblinzelt. Grosse Beklommenheit erfasst ihn; er sucht sich durch das Vorspiel auf der Laute zu ermutigen »Morgen ich leuchte in rosigem Schein, von Blut und Duft geht schnell die Luft; - wohl bald gewonnen wie zerronnen - im Garten lud ich ein - garstig und fein.« Er versucht, besser auf den Füssen zu stehen. Die Meistersinger leise unter sich DIE MEISTER Mein! Was ist das? Ist er von Sinnen? Was ist das? Ist er von Sinnen? Höchst merkwürd ger Fall! Was kommt ihm bei? Woher mocht er solche Gedanken gewinnen? VOLK leise unter sich Sonderbar! Hört ihr s? Wen lud er ein? Verstand man recht? Wie kann das sein? BECKMESSER zieht das Blatt verstohlen hervor und lugt eifrig hinein; dann steckt er es ängstlich wieder ein Wohn ich erträglich im selbigen Raum, hol Geld und Frucht - Bleisaft und Wucht. Er lugt in das Blatt Mich holt am Pranger - der Verlanger - auf luft ger Steige kaum - häng ich am Baum.« Er wackelt wieder sehr; sucht im Blatt zu lesen, vermag es nicht, ihm schwindelt, Angstschweiss bricht aus DAS VOLK Schöner Werber! Der find t wohl seinen Lohn bald hängt er am Galgen; man sieht ihn schon. DIE MEISTER Was soll das heissen? Ist er nur toll? Sein Lied ist ganz von Unsinn voll! BECKMESSER rafft sich verzweiflungsvoll und ingrimmig auf »Heimlich mir graut, weil hier es munter will hergeh n an meiner Leiter stand ein Weib, sie schämt und wollt mich nicht beseh n. Bleich wie ein Kraut umfasset mir Hanf meinen Leib; - mit Augen zwinkend - der Hund blies winkend - was ich vor langem verzehrt - wie Frucht, so Holz und Pferd - vom Leberbaum.« Alles bricht in ein dröhnendes Gelächter aus BECKMESSER verlässt wütend den Hügel und stürzt auf Sachs zu Verdammter Schuster, das dank ich dir! Das Lied, es ist gar nicht von mir. Von Sachs, der hier so hoch verehrt, von Eurem Sachs ward mir s beschert! Mich hat der Schändliche bedrängt, sein schlechtes Lied mir aufgehängt. Er stürzt wütend fort und verliert sich unter dem Volke VOLK Mein! Was soll das sein? Jetzt wird s immer bunter! Von Sachs das Lied? Das nähm uns doch wunder! KOTHNER Erklärt doch, Sachs! NACHTIGALL Welch ein Skandal! VOGELGESANG Von Euch das Lied? ORTEL und FOLTZ Welch eig ner Fall! SACHS hat ruhig das Blatt, welches ihm Beckmesser hingeworfen, aufgenommen Das Lied fürwahr ist nicht von mir. Herr Beckmesser irrt wie dort so hier! Wie er dazu kam, mag selbst er sagen; doch möcht ich nie mich zu rühmen wagen, ein Lied, so schön wie dies erdacht, sei von mir, Hans Sachs, gemacht. MEISTERSINGER Wie? Schön? Dieser Unsinnswust! VOLK Hört, Sachs macht Spass! Er sagt es nur zur Lust. SACHS Ich sag Euch Herrn, das Lied ist schön nur ist s auf den ersten Blick zu ersehn, dass Freund Beckmesser es entstellt. Doch schwör ich, dass es Euch gefällt, wenn richtig Wort und Weise hier einer säng im Kreise. Und wer dies verstünd , zugleich bewies , dass er des Liedes Dichter und gar mit Rechte Meister hiess , fänd er gerechte Richter. Ich bin verklagt und muss besteh n drum lasst mich meinen Zeugen auserseh n! Ist jemand hier, der Recht mir weiss, der tret als Zeug in diesen Kreis! Walther tritt aus dem Volke hervor und begrüsst Sachs, sodann Meister und Volk mit ritterlicher Freundlichkeit. Es entsteht sogleich eine angenehme Bewegung. Alles weilt einen Augenblick schweigend in seiner Betrachtung So zeuget, das Lied sei nicht von mir, und zeuget auch, dass, was ich hier vom Lied hab gesagt, zuviel nicht sei gewagt. DIE MEISTER Wie fein ist Sachs! Ei Sachs, Ihr seid gar fein! Doch mag es heut geschehen sein! SACHS Der Regel Güte daraus man erwägt, dass sie auch mal ‘ne Ausnahm verträgt. DAS VOLK Ein guter Zeuge, stolz und kühn! Mich dünkt, dem kann wohl was Gut s erblühn. SACHS Meister und Volk sind gewillt zu vernehmen, was mein Zeuge gilt. Herr Walther von Stolzing, singt das Lied! Ihr Meister lest, ob s ihm geriet. Er übergibt Kothner das Blatt zum Nachlesen DIE LEHRBUBEN in Aufstellung Alles gespannt! ‘s gibt kein Gesumm. Da rufen wir auch nicht Silentium! WALTHER beschreitet festen Schrittes den kleinen Blumenhügel »Morgenlich leuchtend in rosigem Schein, von Blüt und Duft geschwellt die Luft, voll aller Wonnen, nie ersonnen, ein Garten lud mich ein - Kothner lässt das Blatt, in welchem er mit den anderen Meistern eifrig nachzulesen begonnen, vor Ergriffenheit unwillkürlich fallen; er und die übrigen hören nur noch teilnahmsvoll zu Wie entrückt. dort unter einem Wunderbaum, von Früchten reich behangen, zu schaun in sel gem Liebestraum, was höchstem Lustverlangen Erfüllung kühn verhiess - das schönste Weib, Eva im Paradies.« DAS VOLK leise flüsternd Das ist was andres! Wer hätt s gedacht? Was doch recht Wort und Vortrag macht! DIE MEISTERSINGER ohne Foltz und Schwarz, leise flüsternd Jawohl! Ich merk ! ‘s ist ein ander Ding, SACHS Zeuge am Ort, fahret fort! WALTHER »Abendlich dämmernd umschloss mich die Nacht; auf steilem Pfad war ich genaht zu einer Quelle reiner Welle, die lockend mir gelacht dort unter einem Lorbeerbaum, von Sternen hell durchschienen, ich schaut im wachen Dichtertraum von heilig holden Mienen, mich netzend mit dem edlen Nass, das hehrste Weib, die Muse des Parnass.« DAS VOLK immer leiser, für sich Wie so hold und traut, wie fern es schwebt, doch ist es grad , als ob man selber alles miterlebt! DIE MEISTERSINGER ‘s ist kühn und seltsam, das ist wahr; doch wohlgereimt und singebar. SACHS Zeuge wohl erkiest, fahret fort und schliesst! WALTHER sehr feurig »Huldreichster Tag, dem ich aus Dichters Traum erwacht! Das ich erträumt, das Paradies, in himmlisch neu verklärter Pracht hell vor mir lag, dahin lachend nun der Quell den Pfad mir wies die dort geboren, mein Herz erkoren, der Erde lieblichstes Bild, als Muse mir geweiht, so heilig ernst als mild, ward kühn von mir gefreit, am lichten Tag der Sonnen durch Sanges Sieg gewonnen Parnass und Paradies!« VOLK Gewiegt wie in den schönsten Traum, hör ich es wohl, doch fass es kaum. zu Eva Reich ihm das Reis! Sein sei der Preis! Keiner wie er zu werben weiss! DIE MEISTER sich erhebend Ja, holder Sänger! Nimm das Reis! Dein Sang erwarb dir Meisterpreis! Keiner so wie nur er zu werben weiss! POGNER mit grosser Ergriffenheit zu Sachs sich wendend O Sachs! Dir dank ich Glück und Ehr ! Vorüber nun all Herzbeschwer! Walther ist auf die Stufen der Singerbühne geleitet worden und lässt sich vor Eva auf ein Knie nieder EVA zu Walther, indem sie ihn mit einem Kranz aus Lorbeer und Myrten bekränzt, sich hinabneigend Keiner wie du so hold zu werben weiss! SACHS zum Volk gewandt, auf Walther und Eva deutend Den Zeugen, denk es, wählt ich gut tragt Ihr Hans Sachs drum üblen Mut? VOLK bricht schnell und heftig in jubelnde Bewegung aus Hans Sachs! Nein! Das war schön erdacht! Das habt Ihr einmal wieder gut gemacht! MEISTERSINGER sich feierlich zu Pogner wendend Auf, Meister Pogner! Euch zum Ruhm meldet dem Junker sein Meistertum. POGNER mit einer goldnen Kette, daran drei grosse Denkmünzen, zu Walther Geschmückt mit König Davids Bild, nehm ich Euch auf in der Meister Gild . WALTHER mit schmerzlicher Heftigkeit abweisend Nicht Meister! Nein! Er blickt zärtlich auf Eva Will ohne Meister selig sein! Alles blickt in grosser Betroffenheit auf Sachs SACHS schreitet auf Walther zu und fasst ihn bedeutungsvoll bei der Hand Verachtet mir die Meister nicht und ehrt mir ihre Kunst! Was ihnen hoch zum Lobe spricht, fiel reichlich Euch zur Gunst! Nicht Euren Ahnen, noch so wert, nicht Eurem Wappen, Speer noch Schwert, dass Ihr ein Dichter seid, ein Meister Euch gefreit, dem dankt Ihr heut Eu r höchstes Glück. Drum, denkt mit Dank Ihr d ran zurück, wie kann die Kunst wohl unwert sein, die solche Preise schliesset ein? Dass uns re Meister sie gepflegt, grad recht nach ihrer Art, nach ihrem Sinne treu gehegt, das hat sie echt bewahrt. Blieb sie nicht adlig wie zur Zeit, wo Höf und Fürsten sie geweiht, im Drang der schlimmen Jahr blieb sie doch deutsch und wahr; und wär sie anders nicht geglückt, als wie, wo alles drängt und drückt, Ihr seht, wie hoch sie blieb in Ehr ! Was wollt Ihr von den Meistern mehr? Habt acht! Uns dräuen üble Streich ! Zerfällt erst deutsches Volk und Reich, in falscher welscher Majestät kein Fürst bald mehr sein Volk versteht; und welschen Dunst mit welschem Tand sie pflanzen uns in deutsches Land. Was deutsch und echt, wüsst keiner mehr, lebt s nicht in deutscher Meister Ehr . Drum sag ich Euch ehrt Eure deutschen Meister, dann bannt Ihr gute Geister! Und gebt Ihr ihrem Wirken Gunst, zerging in Dunst das Heil ge Röm sche Reich, uns bliebe gleich die heil ge deutsche Kunst! Während des Schlussgesangs nimmt Eva den Kranz von Walthers Stirn und drückt ihn Sachs auf; dieser nimmt die Kette aus Pogners Hand und hängt sie Walther um. Nachdem Sachs das Paar umarmt, bleiben Walther und Eva zu beiden Seiten an Sachs Schultern gestützt; Pogner lässt sich, wie huldigend, auf ein Knie vor Sachs nieder. Die Meistersinger deuten auf Sachs als auf ihr Haupt ALLE Ehrt Eure deutschen Meister, dann bannt Ihr gute Geister! Und gebt Ihr ihrem Wirken Gunst, zerging in Dunst das Heil ge Röm sche Reich, uns bliebe gleich die heil ge deutsche Kunst! Das Volk schwenkt begeistert Hüte und Tücher; die Lehrbuben tanzen und schlagen jauchzend in die Hände VOLK Heil Sachs! Nürnbergs teurem Sachs! All rights reserved © Maria Fujioka Wagner,Richard/Die Meistersinger von Nürnberg+
https://w.atwiki.jp/mrfrtech/pages/103.html
Market Scenario Security Analytics Market is the portion arrangements with programming, algorithms, and cycles that dissect security dangers to IT frameworks. Security analytics surveys the security danger to a PC framework so the framework can be shielded from possible dangers. The security examination market has great possibilities for development in the gauge time frame. Also, the headway in malware and digital danger nature positively impacts the security analytics market. Security examination centers around the various parts of information analytics connected with online protection dangers. The information investigated is utilized to expand the safety efforts connected with an IT framework. One illustration of the use of safety examination is the most common way of observing organization traffic. Network analytics are utilized to survey security dangers and increment security. Security analytics is the science behind identifying dangers and their earnestness instead of safeguarding the framework. Just when the dangers are all around surveyed, would security be able to be raised to stay away from the dangers. Knowing dangers through security analytics gives a benefit to a designated goal, which is more powerful. Security analytics is involved today in various organizations. As each organization relies upon IT frameworks for sure, security analytics see the appeal. The security analytics market faces appeal today; every IT framework is in danger of digital dangers. Security examination offers the benefit of a comprehensive perspective on dangers as it thinks about both continuous and verifiable information. Thus, a network protection master gets a top-to-bottom perspective on the danger appraisal. Security analytics reinforce an association's security firewalls by giving proof supported bits of knowledge. Online protection specialists lean toward security examination for network safety on the grounds that the wiggle room lessens dramatically. The security examination market, in this manner, has a time of development ahead. Request a Free Sample @ https //www.marketresearchfuture.com/sample_request/4211 Competitive Outlook Leading players in the global security analytics market include Alien Vault Inc., Blue Coat Systems Inc., Alert Logic Inc. (Click Security), LogRhythm Inc., Arbor Networks Inc., FireEye Inc., EMC RSA, HP Enterprise, IBM Corporation, and Cisco Systems Inc. Major tech giants such as Cisco, IBM, and HP are making significant investments in the security analytics sector due to the growing use of mobile devices for communication and data sharing. The growing demand for cloud computing and the Internet of Things is also likely to be a major driver for investment in the security analytics sector over the forecast period. Segmentation The Security Analytics market separates into various sections in light of various measures. The market portions are partitioned as per application and organization. The market for Security Analytics Segments additionally incorporates administrations and association size. One more portion of the market is based upon verticals. By Application There are various utilizations of safety analytics, for instance, Web Security Analytics, Network Security Analytics, and EndPoint Security Analytics. By Services There is a wide range of administrations that security examination offers to the areas. For instance, proficient administrations and counselling are a piece of administration. By Organization Size Today, the security analytics market takes care of both SMEs and huge scope undertakings. Regional Analysis The worldwide Security Analytics market scatters over various areas of the world. The major local security analytics markets are North America, Asia Pacific, and Europe right off the bat. Also, the minor territorial business sectors consolidate into the Rest of the World. Also, these provincial business sectors are made of individual nations of the locale. As per the Security Analytics Market analytics, the greatest provincial market for Security Analytics is the North American area. Additionally, the USA will hold the biggest portion of Security Analytics Market Sales. Then again, Asia Pacific will enlist the most elevated CAGR for the figure time frame. Industry News There are numerous new turns of events and security examination market drifts that help the security analytics market development. The new advancement of the market is as per the following. In November 2019, IBM Corporation sent off Cloud Pak, a security examination and danger insight stage. In November 2018, IBM Corporation delivered Qradar Advisor. The Qradar Advisor relies upon the Corporation's own Watson AI. Watson AI is prepared to complete danger examination and deliver fitting security reactions in reprisal. IBM Corporation discharged Security Connect in October 2018, which associates network safety applications to a cloud-based stage. Aside from this, the central participants of the market embrace various acquisitions and consolidations to help positive security examination of market patterns. Browse Full Report Details @ https //www.marketresearchfuture.com/reports/security-analytics-market-4211 Table of Contents 1Executive Summary 2Scope of the Report 2.1Market Definition 2.2Scope of the Study 2.2.1Research objectives 2.2.2Assumptions Limitations 2.3Markets Structure Continued…. View Similar Report** Internet of Things (IoT) Market By Software (Data Management, Network Management), By Hardware(Sensors, camera), By Services (Manage Services, Professional Services), By Organization Type (Small and Medium Scale Business, Large Scale Business) https //ictmrfr.blogspot.com/2022/03/blockchain-as-service-market-share.html https //ictmrfr.blogspot.com/2022/03/digital-payment-in-healthcare-market.html Rugged Handheld Electronic Devices Market https //www.marketresearchfuture.com/reports/rugged-handheld-devices-market-8047 Industry News The global Security Analytics market Share Report Market Trends has been affected due to the lockdown across the regions. This pandemic situation has hampered the Security Analytics market Share Report Market Growth as well as its productivity, supply chain, and others. Moreover, the global market has lost its investors due to the increasing loss for the products, supply, transportation, workforce, and others. However, in the meantime, the key market players have implied various strategic techniques to boost global market growth. Thus, to meet the global market demands, the global market increased its speed in producing more valuable products for its intended customers. Recently, the global market has stabilized its position in the global market and is expected to register a higher Security Analytics market Share Report Market Size for the forecast period. About Market Research Future At Market Research Future (MRFR), we enable our customers to unravel the complexity of various industries through our Cooked Research Report (CRR), Half-Cooked Research Reports (HCRR), Raw Research Reports (3R), Continuous-Feed Research (CFR), and Market Research Consulting Services. Contact Market Research Future (Part of Wantstats Research and Media Private Limited) 99 Hudson Street, 5Th Floor New York, NY 10013 United States of America 1 628 258 0071 (US) 44 2035 002 764 (UK) Email sales@marketresearchfuture.com Website https //www.marketresearchfuture.com
https://w.atwiki.jp/mrfrtech/pages/124.html
Market Scenario The data experts at Market Research Future Reports (MRFR) have analysed the global B2B Telecommunication Market Research is estimated to record a CAGR of 14% during the assessment period from 2017 to 2023. The adoption of IoT across various verticals is estimated to drive the global B2B Telecommunication Market Research 2020. Novel coronavirus has B2B Telecommunication Market Research to open new avenues for those firms that are on the lookout for solutions that are reliable, efficiently managed, scalable, and are subscription-based, to remain more focused on the core business. The B2B Telecommunication Market is bearing lesser impact of the COVID-19 outbreak compared to most other segments of the tech world. IoT is gaining momentum for being cost-efficient. Besides, being cost-efficient, it also provides other advantages such as machine to machine (M2M) communication and wireless transactions to the users. In addition, the service of data storage and the reachability of the telecom network in distant zones is additionally propelling the market expansion. With the adoption of B2B telecommunication, the enterprises avoid their travel expenses by performing face-to-face meetings through teleconference. Furthermore, fast industrialization and urbanization are enhancing the demand further. In addition, increased volumes of system data, volumes of text, video, and voice are estimated to advance the B2B telecommunication market. Furthermore, the increment of customized products and services portfolio is estimated to be potential factors posing opportunities of expansion during the review period. COVID-19 Analysis The business impact of SARS-CoV-2 has been felt across diverse sections of the information technology industry, albeit at different levels. Companies in the technology sector that supply services for verticals like travel, retail, hospitality, and entertainment have noted a dramatic decrease in sales, while the firms that provide services related to remote worker solutions have observed the opposite. B2B Telecommunication Market ’s fate post pandemic has been relatively less grim compared to Education Services (ES) and Professional Services (PS) that are mostly dependent on components that are generally on-site. In a nutshell, COVID-19 impact on managed services has been fruitful, with the market growth enhanced than before. Given the prevalent lockdown situation, managed services vendors are now investing heavily in remote-centric worker solutions, which can make the market highly resilient in the coming years, even as the world is currently rushing to achieve a COVID-19 breakthrough. Request a Free Sample @ https //www.marketresearchfuture.com/sample_request/5953 Competitive Outlook The established organization of the worldwide B2B telecommunication market are Deutsche Telekom AG (Germany), Amdocs Ltd (U.S.), Comarch S.A. (Poland), NTT Communications (Japan), AT T Inc. (U.S.), Orange S.A. (France), Vodafone Group PLC (The U.K), Cisco Systems, Inc. (U.S.), Verizon Communications Inc. (U.S.), Telstra Corporation Limited (Australia), and a few others. Segmentation On the grounds of deployment, the worldwide B2B telecommunication market can be divided into fixed and mobile. On the grounds of the solution, the worldwide B2B telecommunication market can be segregated into WAN solution, unified communication, and collaboration, M2M communication, VoIP (Voice over Internet Protocol), and cloud services. On the grounds of application, the worldwide B2B telecommunication market can be divided into industrial, and commercial. On the grounds of organization size, the worldwide B2B telecommunication market can be divided into small medium enterprises and large enterprises. On the basis of geography, the worldwide B2B telecommunication market can be segregated into North America, Europe, Asia Pacific, and Rest of the World (RoW). Regional Analysis As per the report, the global market is estimated to expand significantly during the review period. The experts have revealed that the global market is likely to be dominated by North America. North America is anticipated to procure the maximum market share during the assessment period. The region is blooming due to the fast adoption of cloud and VoIP services. On the other side, the Asia-Pacific region is projected to grow at the swiftest pace during the review period. The presence of developing countries like India, China, and South Korea is projected to play a crucial role during the review period. The emerging countries are investing massively in the media and entertain sector, which is predicted to bloom the market exponentially during the assessment period. However, the market dynamics are estimated to change significantly, owing to the spread of coronavirus. The data experts at MRFR are analysing the market and the impact of coronavirus on the global B2B telecommunication market. The impact of COVID-19 is projected to bring a substantial impact on the global economy. Browse Full Report Details @ https //www.marketresearchfuture.com/reports/b2b-telecommunication-market-5953 Table of Contents 1Executive Summary 2Scope of the Report 2.1Market Definition 2.2Scope of the Study 2.2.1Research objectives 2.2.2Assumptions Limitations 2.3Markets Structure Continued…. List of Tables Table 1 Global B2B Telecommunication Market By Region, 2020-2027 Table 2 North America B2B Telecommunication Market By Country, 2020-2027 Table 3 Europe B2B Telecommunication Market By Country, 2020-2027 Continued… List of Figures FIGURE 1 Global B2B Telecommunication Market Segmentation FIGURE 2 Forecast Methodology FIGURE 3 Five Forces Analysis of Global B2B Telecommunication Market Continued… Trending #MRFR Report** https //ictmrfr.blogspot.com/2022/04/geofencing-market-companies-growth-with.html https //blogfreely.net/pranali004/telecom-expense-management-market-size-impressive-cagr-changing-business-scope https //postheaven.net/pranali004/financial-app-industry-impressive-cagr-changing-business-needs-scope-of https //market-research-future.tribe.so/post/openstack-service-market-research-impressive-cagr-changing-scope-of-current--6263de46791566c10c79891e https //www.scutify.com/articles/2022-04-24-infrastructure-as-a-service-industry-cagr-changing-business-scope-of-current-and-future-industry- About Market Research Future Market Research Future (MRFR) has created a niche in the world of market research. It is counted among the top market research companies that offer well-researched and updated market research reports and insights to businesses of all sizes. What sets us apart is our super-responsive team that offers quality work keeping clients abridged of the prospective challenges and opportunities in various markets. Our team is adept in their space as well as patiently listens to every client. The best part is they know their work inside out and possess the expertise to guide the client in the right direction and achieve results on a tight deadline. We are a one-stop solution for all your data research needs. Our team does not believe in the “one size fits all” approach to creating a report that is detailed and concise. We handle 13 industry verticals including Healthcare, Chemicals and Materials, Information and Communications Technology, Semiconductor and Electronics, Energy and Power, Food, Beverages Nutrition, Automobile, Consumer and Retail, Aerospace and Defense, Industrial Automation and Equipment, Packaging Transport, Construction, and Agriculture. With our unique approach for every market report, we aim to reach the zenith in qualitative business intelligence and syndicated market research. Contact Market Research Future (Part of Wantstats Research and Media Private Limited) 99 Hudson Street, 5Th Floor New York, NY 10013 United States of America 1 628 258 0071 (US) 44 2035 002 764 (UK) Email sales@marketresearchfuture.com Website https //www.marketresearchfuture.com
https://w.atwiki.jp/in_extremo/pages/27.html
Neues Glück 「新たな幸運」 詞/In Extremo 曲/In Extremo 言語/ドイツ語 歌詞 Nun zieh ich los lass alles liegen Das was ich brauch ich bei mir trag Dies Gefühl kann nichts aufwiegen Denn heute weiß ich das wird mein Tag Neues Glück liegt auf den Wegen Die Welt ist groß und sie ist mein Alte Träume die brach gelegen Ich lass die Sorgen Sorgen sein Neue Städtchen, andere Mädchen Es steht nie still das Rädchen Einerlei an welchem Ort Einfach von zu Hause fort Meine Tür die lass ich offen Raste nur dort wo man singt Und jeder Meter lässt mich hoffen Dass kein Zweifel mich bezwingt Ich seh die Wolken weiter ziehen Weiß nicht woher, weiß nicht wohin Will wie ein Vogel mit ihnen fliehen Und weiß nun dass ich glücklich bin Neue Städtchen, andere Mädchen Es steht nie still das Rädchen Einerlei an welchem Ort Einfach von zu Hause fort Neue Städtchen, andere Mädchen Es steht nie still das Rädchen Einerlei an welchem Ort Einfach von zu Hause fort Neue Städtchen, andere Mädchen Es steht nie still das Rädchen Einerlei an welchem Ort Einfach von zu Hause fort 日本語訳 さあ出発しよう 全てを置いて 必要なものは 手元に残して この気持ちは 何事にも代えがたい なぜなら今日は 俺のための日だとわかっているから 新たな幸運は 道の上に落ちている 世界は広く そしてそれは俺のもの 昔の夢は 破れたままで 心配事は 心配事のまま放っておこう 新しい町 違う女の子 車輪が止まることはない どこに来たって 結局同じこと 一度家から 離れてしまえば 俺のドアは 開けっ放し 歌が聞こえたら 休めばいい 1メートルずつ 進むごとに 迷いにつぶされない 希望が持てる 雲が長く たなびくのが見える どこから来て どこへ行くのかは分からないけど 鳥のように 雲と空を飛びたい そして今になってわかる 俺は幸せ者なんだと 新しい町 違う女の子 車輪が止まることはない どこに来たって 結局同じこと 一度家から 離れてしまえば 新しい町 違う女の子 車輪が止まることはない どこに来たって 結局同じこと 一度家から 離れてしまえば 新しい町 違う女の子 車輪が止まることはない どこに来たって 結局同じこと 一度家から 離れてしまえば
https://w.atwiki.jp/elvis/pages/7742.html
Evaluacion Sensorial de Los Alimentos En La Teoria ACRIBIA? Antonio Anzaldua-Morales? ACRIBIA? AntonioAnzaldua-Morales? ジャンル別? Substores-UnknownASINs-54? Subjects-Nonfiction-ForeignLanguageNonfiction-Spanish? Subjects-Science-Technology-General&Reference English-Polish Dictionary of Science and Technology/Slownik Naukowo-Techniczny Angielsko-Polski I B D Ltd? Maria Skrzynska? IBDLtd? MariaSkrzynska? ジャンル別? ユーズドブック(洋書)-Reference? ユーズドブック(洋書)-Science? Subjects-Nonfiction-Education-Reference-Dictionaries&Thesauri-English(All)? Subjects-Nonfiction-Education-Reference-Dictionaries&Thesauri-ForeignLanguage-Polish? Subjects-Nonfiction-Education-Reference-Dictionaries&Thesauri-Science? Subjects-Reference-Dictionaries&Thesauruses-English(All)? Subjects-Reference-Dictionaries&Thesauruses-ForeignLanguage-Polish? Subjects-Reference-Dictionaries&Thesauruses-Science? Subjects-Reference-General? Subjects-Science-Technology-General&Reference Software Engineering APH Publishing Corporation? Pankaj Sharma? APHPublishingCorporation? PankajSharma? ジャンル別? Subjects-Computers&Internet-Software? Subjects-Science-Technology-General&Reference LA Mejor Herramienta Del Milenio Planeta Pub Corp? Witold Rybczynski? PlanetaPubCorp? WitoldRybczynski? ジャンル別? ユーズドブック(洋書)-Science? Substores-UnknownASINs-54? Subjects-Nonfiction-ForeignLanguageNonfiction-Spanish? Subjects-Science-Technology-General&Reference Circuitos Basicos de Neumatica Marcombo? Miguel Carulla? Marcombo? MiguelCarulla? ジャンル別? ユーズドブック(洋書)-Science? Substores-UnknownASINs-54? Subjects-Nonfiction-ForeignLanguageNonfiction-Spanish? Subjects-Science-Technology-General&Reference Toda La Fotografia En Un Solo Libro Omega? Emanuel? Omega? Emanuel? ジャンル別? Substores-UnknownASINs-54? Subjects-Nonfiction-ForeignLanguageNonfiction-Spanish? Subjects-Science-Technology-General&Reference Automatizacion Neumatica y Electroneumatica Marcombo? Salvador Millan? Marcombo? SalvadorMillan? ジャンル別? ユーズドブック(洋書)-Science? Substores-UnknownASINs-54? Subjects-Nonfiction-ForeignLanguageNonfiction-Spanish? Subjects-Science-Technology-General&Reference Teoria de Los Fasores Espaciales - Introduccion Marcombo? Luis Serrano Iribarnegara? Marcombo? LuisSerranoIribarnegara? ジャンル別? Substores-UnknownASINs-54? Subjects-Nonfiction-ForeignLanguageNonfiction-Spanish? Subjects-Science-Technology-General&Reference Los Insecticidas Oikos-Tau? Roger Dajoz? Oikos-Tau? RogerDajoz? ジャンル別? Substores-UnknownASINs-54? Subjects-Nonfiction-ForeignLanguageNonfiction-Spanish? Subjects-Science-Technology-General&Reference Geologia Estructural - 4b0 Edicion Omega? L. U. de Sitter? Omega? L.U.deSitter? ジャンル別? Substores-UnknownASINs-54? Subjects-Nonfiction-ForeignLanguageNonfiction-Spanish? Subjects-Science-Technology-General&Reference Instalaciones Electricas E Iluminacion Editorial Gustavo Gili? Mike Lawrence? EditorialGustavoGili? MikeLawrence? ジャンル別? ユーズドブック(洋書)-Science? Subjects-Nonfiction-ForeignLanguageNonfiction-Spanish? Subjects-Science-Technology-General&Reference El Libro De La Encuadernacion / The Book about Binding (Libros Practico Y Aficiones / Practical Books and Hobbies) Alianza Editorial Sa? Francisco Gomez Raggio? AlianzaEditorialSa? FranciscoGomezRaggio? ジャンル別? Substores-UnknownASINs-54? Subjects-Home&Garden-Crafts&Hobbies-BookMaking&Binding? Subjects-Nonfiction-ForeignLanguageNonfiction-Spanish? Subjects-Science-Technology-General&Reference Ergonomia - Evaluacion y Diseno del Entorno Visual Alianza (Buenos Aires, AR)? Julio Lillo Jover? Alianza(BuenosAires,AR)? JulioLilloJover? ジャンル別? ユーズドブック(洋書)-Science? Substores-UnknownASINs-54? Subjects-Nonfiction-ForeignLanguageNonfiction-Spanish? Subjects-Science-Technology-General&Reference Lake Systems from the Ice Age to Industrial Time (Eclogae Geologicae Helvetiae, Supplement 1) Birkhauser? Daniel Ariztegui? Walter Wildi? Birkhauser? DanielAriztegui? WalterWildi? ジャンル別? ユーズドブック(洋書)-Engineering ユーズドブック(洋書)-Professional&Technical? ユーズドブック(洋書)-Science? Substores-UnknownASINs-66? Subjects-Engineering-Civil-Environmental-Hydrology? Subjects-Nonfiction-ForeignLanguageNonfiction-French? Subjects-Professional&Technical-Engineering-Civil-Environmental-Hydrology? Subjects-Professional&Technical-ProfessionalScience-EarthSciences-General? Subjects-Professional&Technical-ProfessionalScience-EarthSciences-Geology? Subjects-Science-EarthSciences-General? Subjects-Science-EarthSciences-Geology-General? Subjects-Science-EarthSciences-Geology-Hydrology? Subjects-Science-General Subjects-Science-Technology-General&Reference Electronica de Potencia Pearson Educacion? Daniel W. Hart? PearsonEducacion? DanielW.Hart? ジャンル別? Subjects-Nonfiction-ForeignLanguageNonfiction-Spanish? Subjects-Science-Technology-General&Reference Manual de Automoviles Dossat? Manuel Arias Paz? Dossat? ManuelAriasPaz? ジャンル別? ユーズドブック(洋書)-Science? Substores-UnknownASINs-54? Subjects-Nonfiction-ForeignLanguageNonfiction-Spanish? Subjects-Science-Technology-General&Reference Satelites de Radioaficionados Marcombo? Pablo Cruz Corona? Marcombo? PabloCruzCorona? ジャンル別? Substores-UnknownASINs-54? Subjects-Nonfiction-ForeignLanguageNonfiction-Spanish? Subjects-Science-Technology-General&Reference Fontaneria y Calefaccion Editorial Gustavo Gili? Mike Lawrence? EditorialGustavoGili? MikeLawrence? ジャンル別? ユーズドブック(洋書)-Science? Substores-UnknownASINs-54? Subjects-Nonfiction-ForeignLanguageNonfiction-Spanish? Subjects-Science-Technology-General&Reference Meditacion de la Tecnica y otros Ensayos Sobre Ciencia y Filosofia / A Meditation on Technique and other Essays about Science and Philosophy (Obras De Jose Ortega Y Gasset / Works of Jose Ortega and Gasset) Alianza Editorial Sa? Ortega? Jose Gasset? AlianzaEditorialSa? Ortega? JoseGasset? ジャンル別? Substores-UnknownASINs-67? Subjects-Nonfiction-Philosophy-General? Subjects-Nonfiction-Philosophy-Science? Subjects-Nonfiction-ForeignLanguageNonfiction-Spanish? Subjects-Science-History&Philosophy-General? Subjects-Science-Technology-General&Reference Subjects-Science-Technology-PhilosophyofTechnology? Construccion de Hornos Editorial Gustavo Gili? Ian Gregory? EditorialGustavoGili? IanGregory? ジャンル別? ユーズドブック(洋書)-Science? Substores-UnknownASINs-54? Subjects-Nonfiction-ForeignLanguageNonfiction-Spanish? Subjects-Science-Technology-General&Reference Advanced Technologies Building in the Computer Age (IT Revolution in Architecture) Birkhauser (Architectural)? Valerio Travi? Birkhauser(Architectural)? ValerioTravi? ジャンル別? ユーズドブック(洋書)-Arts&Photography? ユーズドブック(洋書)-Computers&Internet? ユーズドブック(洋書)-Engineering ユーズドブック(洋書)-Home&Garden? ユーズドブック(洋書)-Professional&Technical? ユーズドブック(洋書)-Science? Subjects-Arts&Photography-Architecture-Drawing&Modelling-General? Subjects-Arts&Photography-Architecture-General? Subjects-Computers&Internet-ComputerScience-SoftwareEngineering-InformationSystems? Subjects-Engineering-Civil-Construction-BuildingConstruction? Subjects-Engineering-Civil-Construction-General? Subjects-Home&Garden-How-to&HomeImprovements-Plumbing&HouseholdAutomation? Subjects-Professional&Technical-Engineering-Civil-Construction-BuildingConstruction? Subjects-Professional&Technical-Engineering-Civil-Construction-General? Subjects-Professional&Technical-Architecture-Drawing&Modelling-General? Subjects-Professional&Technical-Architecture-General? Subjects-Science-Technology-General&Reference Instalaciones Electricas En La Vivienda Marcombo? Charles Lambert? Marcombo? CharlesLambert? ジャンル別? ユーズドブック(洋書)-Science? Substores-UnknownASINs-54? Subjects-Nonfiction-ForeignLanguageNonfiction-Spanish? Subjects-Science-Technology-General&Reference Transmision Y Caja De Cambios Del Automovil/Automotive Transmissions and Power Trains Marcombo? William Harry Crouse? Marcombo? WilliamHarryCrouse? ジャンル別? ユーズドブック(洋書)-Science? Substores-UnknownASINs-54? Subjects-Nonfiction-ForeignLanguageNonfiction-Spanish? Subjects-Nonfiction-Automotive-Repair? Subjects-Science-Technology-General&Reference Frenos Marcombo? M. Duchene? Marcombo? M.Duchene? ジャンル別? ユーズドブック(洋書)-Science? Substores-UnknownASINs-54? Subjects-Nonfiction-ForeignLanguageNonfiction-Spanish? Subjects-Science-Technology-General&Reference Introduccion Al Galvanismo Marcombo? Heinz Wehner? Marcombo? HeinzWehner? ジャンル別? Substores-UnknownASINs-54? Subjects-Nonfiction-ForeignLanguageNonfiction-Spanish? Subjects-Science-Technology-General&Reference Elementos Galvanicos Secundarios Marcombo? Heinz Wehner? Marcombo? HeinzWehner? ジャンル別? Substores-UnknownASINs-54? Subjects-Nonfiction-ForeignLanguageNonfiction-Spanish? Subjects-Science-Technology-General&Reference Corrosion Industrial Marcombo? Juan Antonio Ortega Maizquez? Marcombo? JuanAntonioOrtegaMaizquez? ジャンル別? ユーズドブック(洋書)-Science? Substores-UnknownASINs-54? Subjects-Nonfiction-ForeignLanguageNonfiction-Spanish? Subjects-Science-Technology-General&Reference Tecnica y Civilizacion Alianza? Lewis Mumford? Alianza? LewisMumford? ジャンル別? ユーズドブック(洋書)-History? ユーズドブック(洋書)-Science? Substores-UnknownASINs-54? Subjects-History-Americas-SouthAmerica-General? Subjects-Nonfiction-ForeignLanguageNonfiction-Spanish? Subjects-Science-Technology-General&Reference Automating With Step 7 in Lad and Fdb Programmable Controllers Simatic S7-300/400 Vch Verlagsgesellschaft Mbh? Hans Berger? VchVerlagsgesellschaftMbh? HansBerger? ジャンル別? ユーズドブック(洋書)-Computers&Internet? ユーズドブック(洋書)-Engineering ユーズドブック(洋書)-Science? Subjects-Computers&Internet-WebDevelopment-HTML,Graphics,&Design-WebGraphics? Subjects-Computers&Internet-Software? Subjects-Computers&Internet-Programming-Graphics&Multimedia-General? Subjects-Computers&Internet-GraphicDesign-General? Subjects-Computers&Internet-Hardware-Microprocessors&SystemDesign-General? Subjects-Computers&Internet-Hardware-Microprocessors&SystemDesign-Programming? Subjects-Engineering-Electrical&Electronics-DigitalDesign? Subjects-Engineering-Electrical&Electronics-General? Subjects-Professional&Technical-Engineering-Electrical&Electronics-DigitalDesign? Subjects-Professional&Technical-Engineering-Electrical&Electronics-General? Subjects-Science-General Subjects-Science-Technology-General&Reference Tecnicas del Automovil - Chassis Paraninfo? Jose Manuel Alonso? Paraninfo? JoseManuelAlonso? ジャンル別? ユーズドブック(洋書)-Science? Subjects-Nonfiction-ForeignLanguageNonfiction-Spanish? Subjects-Science-Technology-General&Reference Worterbuch Der Industriellen Technik Oscar Brandstetter Verlag GmbH & Co KG? Richard Ernst? OscarBrandstetterVerlagGmbH&CoKG? RichardErnst? ジャンル別? ユーズドブック(洋書)-Engineering ユーズドブック(洋書)-Reference? Substores-UnknownASINs-51? Subjects-Engineering-Industrial,Manufacturing&OperationalSystems-IndustrialDesign? Subjects-Nonfiction-Education-Reference-Dictionaries&Thesauri-ForeignLanguage? Subjects-Professional&Technical-Engineering-Industrial,Manufacturing&OperationalSystems-IndustrialDesign? Subjects-Reference-Dictionaries&Thesauruses-ForeignLanguage? Subjects-Science-Technology-General&Reference Geologia Fisica - 3 Edicion Omega? Arthur Holmes? Doris Holmes? Omega? ArthurHolmes? DorisHolmes? ジャンル別? Substores-UnknownASINs-54? Subjects-Nonfiction-ForeignLanguageNonfiction-Spanish? Subjects-Science-Technology-General&Reference Circuitos Integrados Digitales y Computadore Paraninfo? B. Woollard? Paraninfo? B.Woollard? ジャンル別? Subjects-Nonfiction-ForeignLanguageNonfiction-Spanish? Subjects-Science-Technology-General&Reference Fachlexikon ABC Technik. Ein alphabetisches Nachschlagewerk Deutsch Harri GmbH? Bernd Rohr? Herbert Wiele? DeutschHarriGmbH? BerndRohr? HerbertWiele? ジャンル別? Subjects-Nonfiction-ForeignLanguageNonfiction-German? Subjects-Science-Technology-General&Reference The Optimization of Static Gaskets Gulf Publishing Company? Hans Joachim Tuckmantel? GulfPublishingCompany? HansJoachimTuckmantel? ジャンル別? ユーズドブック(洋書)-Engineering ユーズドブック(洋書)-Science? Substores-UnknownASINs-51? Subjects-Engineering-General? Subjects-Engineering-Mechanical-General? Subjects-Nonfiction-ForeignLanguageNonfiction-German? Subjects-Professional&Technical-Engineering-Mechanical-General? Subjects-Professional&Technical-Engineering-General Subjects-Science-Technology-General&Reference Thermo-Hydro-Mechanical Coupling in Fractured Rock (Pageoph Topical Volumes) Birkhauser (Architectural)? Hans-Joachim Kumpel? Birkhauser(Architectural)? Hans-JoachimKumpel? ジャンル別? ユーズドブック(洋書)-Engineering ユーズドブック(洋書)-Professional&Technical? ユーズドブック(洋書)-Science? Substores-UnknownASINs-48? Subjects-Engineering-Civil-Foundations&SoilMechanics? Subjects-Engineering-Civil-General? Subjects-Engineering-Civil-Environmental-Groundwater? Subjects-Engineering-Mechanical-FluidMechanics? Subjects-Professional&Technical-Engineering-Civil-Foundations&SoilMechanics? Subjects-Professional&Technical-Engineering-Civil-General? Subjects-Professional&Technical-Engineering-Civil-Environmental-Groundwater? Subjects-Professional&Technical-Engineering-Mechanical-FluidMechanics? Subjects-Professional&Technical-ProfessionalScience-AgriculturalSciences-SoilScience? Subjects-Professional&Technical-ProfessionalScience-Physics-Mechanics? Subjects-Professional&Technical-ProfessionalScience-EarthSciences-General? Subjects-Professional&Technical-ProfessionalScience-EarthSciences-Geology? Subjects-Science-EarthSciences-General? Subjects-Science-EarthSciences-Geology-General? Subjects-Science-General Subjects-Science-Physics-Mechanics? Subjects-Science-Physics-FluidMechanics? Subjects-Science-Technology-General&Reference Subjects-Science-AgriculturalSciences-SoilScience? Transitions in Engineering Birkhauser Verlag AG? Tom F. Peters? BirkhauserVerlagAG? TomF.Peters? ジャンル別? ユーズドブック(洋書)-Arts&Photography? ユーズドブック(洋書)-Engineering ユーズドブック(洋書)-Professional&Technical? Subjects-Arts&Photography-Architecture-BuildingTypes&Styles? Subjects-Arts&Photography-Architecture-General? Subjects-Arts&Photography-Architecture-History&Periods-General? Subjects-Engineering-Civil-General? Subjects-Professional&Technical-Engineering-Civil-General? Subjects-Professional&Technical-Architecture-BuildingTypes&Styles? Subjects-Professional&Technical-Architecture-General? Subjects-Professional&Technical-Architecture-History&Periods-General? Subjects-Professional&Technical-ProfessionalScience-Mathematics-Applied-General? Subjects-Science-General Subjects-Science-History&Philosophy-HistoryofTechnology? Subjects-Science-Mathematics-Applied-General? Subjects-Science-Technology-General&Reference Woerterbuch der Technik, Englisch - Deutsch. Mit 100 000 Wortstellen Cornelsen Verlag GmbH + C? Rudolf. Walther? CornelsenVerlagGmbH+C? Rudolf.Walther? ジャンル別? ユーズドブック(洋書)-Reference? ユーズドブック(洋書)-Science? Subjects-Nonfiction-Education-Reference-Dictionaries&Thesauri-English(All)? Subjects-Nonfiction-Education-Reference-Dictionaries&Thesauri-ForeignLanguage-German? Subjects-Reference-Dictionaries&Thesauruses-English(All)? Subjects-Reference-Dictionaries&Thesauruses-ForeignLanguage-German? Subjects-Science-Technology-General&Reference Technische Erlauterungen Und Kenndaten Vch Verlagsgesellschaft Mbh? Halbleiter? VchVerlagsgesellschaftMbh? Halbleiter? ジャンル別? ユーズドブック(洋書)-Science? Subjects-Nonfiction-ForeignLanguageNonfiction-German? Subjects-Professional&Technical-Medical-BasicSciences-Chemistry? Subjects-Science-Chemistry-General&Reference? Subjects-Science-General Subjects-Science-Technology-General&Reference Quality, Reliability And Information Technology Trends and Future Directions Narosa Pub House? Alok K. Verma? P. K. Kapur? NarosaPubHouse? AlokK.Verma? P.K.Kapur? ジャンル別? ユーズドブック(洋書)-Business&Investing? ユーズドブック(洋書)-Computers&Internet? ユーズドブック(洋書)-Engineering ユーズドブック(洋書)-Science? Subjects-Business&Investing-General? Subjects-Business&Investing-Management&Leadership-Management? Subjects-Computers&Internet-Business&Culture-Manager sGuidestoComputing? Subjects-Computers&Internet-General? Subjects-Engineering-General? Subjects-Professional&Technical-Engineering-General Subjects-Professional&Technical-BusinessManagement-Management&Leadership-Management? Subjects-Science-Technology-General&Reference Decentralization With Profibus Dp/Dpv1 Architecture and Fundamentals, Configuration and Use With Simatice S7 Vch Verlagsgesellschaft Mbh? Josef Weigmann? Gerhard Kilian? VchVerlagsgesellschaftMbh? JosefWeigmann? GerhardKilian? ジャンル別? ユーズドブック(洋書)-Computers&Internet? ユーズドブック(洋書)-Engineering ユーズドブック(洋書)-Science? Substores-UnknownASINs-52? Subjects-Computers&Internet-Networking-Networks,Protocols&APIs-General? Subjects-Computers&Internet-Programming-General? Subjects-Engineering-Electrical&Electronics-DigitalDesign? Subjects-Engineering-Electrical&Electronics-General? Subjects-Professional&Technical-Engineering-Electrical&Electronics-DigitalDesign? Subjects-Professional&Technical-Engineering-Electrical&Electronics-General? Subjects-Professional&Technical-Medical-BasicSciences-Chemistry? Subjects-Science-Chemistry-General&Reference? Subjects-Science-General Subjects-Science-Technology-General&Reference Your Private Sky R. Buckminster Fuller The Art of Design Science (Your Private Sky) Lars Muller Publishers? R. Buckminster Fuller? Joachim Krausse? Claude Lichtenstein? Museum Fur Gestaltung Zurich? LarsMullerPublishers? R.BuckminsterFuller? JoachimKrausse? ClaudeLichtenstein? MuseumFurGestaltungZurich? ジャンル別? ユーズドブック(洋書)-Arts&Photography? ユーズドブック(洋書)-Biographies&Memoirs? ユーズドブック(洋書)-Engineering ユーズドブック(洋書)-Professional&Technical? ユーズドブック(洋書)-Science? Subjects-Arts&Photography-Art-General? Subjects-Arts&Photography-GraphicDesign-Design-General? Subjects-Arts&Photography-Architecture-General? Subjects-Arts&Photography-Architecture-Architects,A-Z-Fuller,Buckminster? Subjects-Arts&Photography-Architecture-Architects,A-Z-General? Subjects-Arts&Photography-Architecture-International-UnitedStates? Subjects-Biographies&Memoirs-General? Subjects-Engineering-General? Subjects-Professional&Technical-Engineering-General Subjects-Professional&Technical-Architecture-General? Subjects-Professional&Technical-Architecture-Architects,A-Z-Fuller,Buckminster? Subjects-Professional&Technical-Architecture-Architects,A-Z-General? Subjects-Professional&Technical-Architecture-International-UnitedStates? Subjects-Science-Technology-General&Reference Subjects-Science-Technology-Technology&Society? Metalogica Paraninfo? G. Hunter? Paraninfo? G.Hunter? ジャンル別? ユーズドブック(洋書)-Science? Substores-UnknownASINs-54? Subjects-Nonfiction-ForeignLanguageNonfiction-Spanish? Subjects-Science-Technology-General&Reference Diccionario Tecnico Espanol-ingles / Spanish-english Technical Dictionary Aims Intl Books Corp? Guy Malgorn? AimsIntlBooksCorp? GuyMalgorn? ジャンル別? ユーズドブック(洋書)-Engineering ユーズドブック(洋書)-Reference? ユーズドブック(洋書)-Science? Subjects-Engineering-Reference? Subjects-Nonfiction-Education-Reference-Dictionaries&Thesauri-English(All)? Subjects-Nonfiction-Education-Reference-Dictionaries&Thesauri-ForeignLanguage? Subjects-Nonfiction-Education-Reference-Dictionaries&Thesauri-Slang&Idioms? Subjects-Professional&Technical-Engineering-Reference? Subjects-Reference-Dictionaries&Thesauruses-English(All)? Subjects-Reference-Dictionaries&Thesauruses-ForeignLanguage? Subjects-Reference-Dictionaries&Thesauruses-Slang&Idioms? Subjects-Science-Reference-Engineering? Subjects-Science-Technology-General&Reference Defect and Diffusion in Semiconductors An Annual Retrospective III (Defect Diffusion Forum) Trans Tech Pubn? D. J. Fisher? TransTechPubn? D.J.Fisher? ジャンル別? ユーズドブック(洋書)-Engineering ユーズドブック(洋書)-Science? Substores-UnknownASINs-52? Subjects-Engineering-Electrical&Electronics-Semiconductors? Subjects-Engineering-MaterialsScience-General? Subjects-Professional&Technical-Engineering-Electrical&Electronics-Semiconductors? Subjects-Professional&Technical-Engineering-MaterialsScience-General? Subjects-Science-General Subjects-Science-Physics-Solid-StatePhysics-CondensedMatter? Subjects-Science-Technology-General&Reference Curso de Peluqueria Tomo 1 Paraninfo? R. Auge? Paraninfo? R.Auge? ジャンル別? ユーズドブック(洋書)-Science? Substores-UnknownASINs-54? Subjects-Nonfiction-ForeignLanguageNonfiction-Spanish? Subjects-Science-Technology-General&Reference Stahlschlussel Key to Steel 1998 (Stahlschlussel, Key to Steel, ed 18) Asm Intl? C. W. Wegst? AsmIntl? C.W.Wegst? ジャンル別? ユーズドブック(洋書)-Engineering ユーズドブック(洋書)-Science? Subjects-Engineering-Materials-Metallurgy? Subjects-Engineering-MaterialsScience-Metallurgy? Subjects-Engineering-MaterialsScience-General? Subjects-Nonfiction-ForeignLanguageNonfiction-French? Subjects-Nonfiction-ForeignLanguageNonfiction-German? Subjects-Professional&Technical-Engineering-MaterialsScience-Metallurgy? Subjects-Professional&Technical-Engineering-MaterialsScience-General? Subjects-Professional&Technical-Engineering-Materials-Metallurgy? Subjects-Science-General Subjects-Science-Technology-General&Reference Der Stoff, aus dem Berlin gemacht ist. Entdeckungsreisen zu den Industriedenkmalen Brandenburgs Stattbuch Vlg., Berlin? StattbuchVlg.,Berlin? ジャンル別? ユーズドブック(洋書)-Science? Subjects-Nonfiction-ForeignLanguageNonfiction-German? Subjects-Science-Technology-General&Reference Labels of Distinction Microbrewery Label Design Gingko Pr Inc? Spencer Drate? Thomas Olejar? GingkoPrInc? SpencerDrate? ThomasOlejar? ジャンル別? ユーズドブック(洋書)-Arts&Photography? ユーズドブック(洋書)-Science? Subjects-Arts&Photography-GraphicDesign-Commercial-Advertising? Subjects-Arts&Photography-GraphicDesign-Design-General? Subjects-Science-Technology-General&Reference Kms Twelve Chapters About a Design Office (Aveditionrockets) Birkhauser (Architectural)? Conway Lloyd Morgan? Kms Team? Birkhauser(Architectural)? ConwayLloydMorgan? KmsTeam? ジャンル別? ユーズドブック(洋書)-Arts&Photography? ユーズドブック(洋書)-History? ユーズドブック(洋書)-Science? Subjects-Arts&Photography-Architecture-General? Subjects-Arts&Photography-Architecture-Reference? Subjects-History-Europe-Germany-General? Subjects-Professional&Technical-Architecture-General? Subjects-Professional&Technical-Architecture-Reference? Subjects-Science-History&Philosophy-HistoryofTechnology? Subjects-Science-Technology-General&Reference Subjects-Science-Technology-General&Reference 洋書